From 87b380dbfb4b69737a6bfb66bf46b0b153f0b0e2 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 15 May 2024 20:35:47 -0300 Subject: [PATCH 1/2] xemu: nixfmt --- pkgs/by-name/xe/xemu/package.nix | 135 +++++++++++++++++-------------- 1 file changed, 75 insertions(+), 60 deletions(-) diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index e8d2f665f919..54b44a1997ec 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -1,29 +1,30 @@ -{ lib -, SDL2 -, SDL2_image -, copyDesktopItems -, fetchFromGitHub -, gettext -, glib -, gtk3 -, libGLU -, libdrm -, libepoxy -, libpcap -, libsamplerate -, libslirp -, makeDesktopItem -, mesa -, meson -, ninja -, openssl -, perl -, pkg-config -, python3Packages -, stdenv -, vte -, which -, wrapGAppsHook3 +{ + lib, + SDL2, + SDL2_image, + copyDesktopItems, + fetchFromGitHub, + gettext, + glib, + gtk3, + libGLU, + libdrm, + libepoxy, + libpcap, + libsamplerate, + libslirp, + makeDesktopItem, + mesa, + meson, + ninja, + openssl, + perl, + pkg-config, + python3Packages, + stdenv, + vte, + which, + wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { @@ -38,18 +39,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-VcztVzG/IN9N0SVKj6BipyqnhxXC2nTTuMjKMtFKzGw="; }; - nativeBuildInputs = [ - copyDesktopItems - meson - ninja - perl - pkg-config - which - wrapGAppsHook3 - ] ++ (with python3Packages; [ - python - pyyaml - ]); + nativeBuildInputs = + [ + copyDesktopItems + meson + ninja + perl + pkg-config + which + wrapGAppsHook3 + ] + ++ (with python3Packages; [ + python + pyyaml + ]); buildInputs = [ SDL2 @@ -98,35 +101,47 @@ stdenv.mkDerivation (finalAttrs: { --replace '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 - ''; + 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 + ''; preBuild = '' cd build substituteInPlace ./build.ninja --replace /usr/bin/env $(which env) ''; - installPhase = let - installIcon = resolution: '' - install -Dm644 -T ../ui/icons/xemu_${resolution}.png \ - $out/share/icons/hicolor/${resolution}/apps/xemu.png - ''; - in '' - runHook preInstall + installPhase = + let + installIcon = resolution: '' + install -Dm644 -T ../ui/icons/xemu_${resolution}.png \ + $out/share/icons/hicolor/${resolution}/apps/xemu.png + ''; + in + '' + runHook preInstall - install -Dm755 -T qemu-system-i386 $out/bin/xemu - '' + - (lib.concatMapStringsSep "\n" installIcon - [ "16x16" "24x24" "32x32" "48x48" "128x128" "256x256" "512x512" ]) + "\n" + - '' - runHook postInstall - ''; + install -Dm755 -T qemu-system-i386 $out/bin/xemu + '' + + (lib.concatMapStringsSep "\n" installIcon [ + "16x16" + "24x24" + "32x32" + "48x48" + "128x128" + "256x256" + "512x512" + ]) + + "\n" + + '' + runHook postInstall + ''; meta = { homepage = "https://xemu.app/"; From 2ffadf765465a69b429d143521d00ab7e7fe71f0 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 15 May 2024 21:00:13 -0300 Subject: [PATCH 2/2] xemu: use upstream xemu.desktop --- pkgs/by-name/xe/xemu/package.nix | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index 54b44a1997ec..47b42d5422c7 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -2,7 +2,6 @@ lib, SDL2, SDL2_image, - copyDesktopItems, fetchFromGitHub, gettext, glib, @@ -13,7 +12,6 @@ libpcap, libsamplerate, libslirp, - makeDesktopItem, mesa, meson, ninja, @@ -41,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ - copyDesktopItems + SDL2 meson ninja perl @@ -71,12 +69,6 @@ stdenv.mkDerivation (finalAttrs: { vte ]; - separateDebugInfo = true; - - dontUseMesonConfigure = true; - - setOutputFlags = false; - configureFlags = [ "--disable-strip" "--meson=meson" @@ -86,14 +78,13 @@ stdenv.mkDerivation (finalAttrs: { buildFlags = [ "qemu-system-i386" ]; - desktopItems = [ - (makeDesktopItem { - name = "xemu"; - desktopName = "xemu"; - exec = "xemu"; - icon = "xemu"; - }) - ]; + separateDebugInfo = true; + + dontUseMesonConfigure = true; + + setOutputFlags = false; + + strictDeps = true; postPatch = '' patchShebangs . @@ -140,6 +131,8 @@ stdenv.mkDerivation (finalAttrs: { ]) + "\n" + '' + install -Dm644 -T ../ui/xemu.desktop $out/share/applications/xemu.desktop + runHook postInstall ''; @@ -158,3 +151,4 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.linux; }; }) +# TODO: investigate failure when using __structuredAttrs