From db4f375bd01e91f49907018317bcb8ec895ae83b Mon Sep 17 00:00:00 2001 From: Herwig Hochleitner Date: Wed, 15 May 2024 01:06:12 +0200 Subject: [PATCH] cdemu: updates, fixes and build simplification - rely on wrapGApps*Hook for gobject-introspection access - use callPackage as intended --- .../applications/emulators/cdemu/analyzer.nix | 26 ++++++---------- pkgs/applications/emulators/cdemu/base.nix | 18 ++++++----- pkgs/applications/emulators/cdemu/client.nix | 22 ++++++------- pkgs/applications/emulators/cdemu/daemon.nix | 10 +++--- pkgs/applications/emulators/cdemu/gui.nix | 31 +++++++------------ .../emulators/cdemu/libmirage.nix | 10 +++--- 6 files changed, 49 insertions(+), 68 deletions(-) diff --git a/pkgs/applications/emulators/cdemu/analyzer.nix b/pkgs/applications/emulators/cdemu/analyzer.nix index 5b111b80285a..719aa87cda43 100644 --- a/pkgs/applications/emulators/cdemu/analyzer.nix +++ b/pkgs/applications/emulators/cdemu/analyzer.nix @@ -1,20 +1,14 @@ -{ callPackage, makeWrapper, gobject-introspection, cmake +{ callPackage, makeWrapper, gobject-introspection, cmake, wrapGAppsHook3 , python3Packages, gtk3, glib, libxml2, gnuplot, gnome, gdk-pixbuf, librsvg, intltool, libmirage }: -let pkg = import ./base.nix { - version = "3.2.5"; +callPackage ./base.nix { + version = "3.2.6"; pname = "image-analyzer"; - pkgSha256 = "00906lky0z1m0bdqnjmzxgcb19dzvljhddhh42lixyr53sjp94cc"; -}; -in callPackage pkg { + sha256 = "sha256-7I8RUgd+k3cEzskJGbziv1f0/eo5QQXn62wGh/Y5ozc="; buildInputs = [ glib gtk3 libxml2 gnuplot libmirage gnome.adwaita-icon-theme gdk-pixbuf librsvg - python3Packages.python python3Packages.pygobject3 python3Packages.matplotlib ]; - drvParams = { - nativeBuildInputs = [ gobject-introspection cmake makeWrapper intltool ]; - postFixup = '' - wrapProgram $out/bin/image-analyzer \ - --set PYTHONPATH "$PYTHONPATH" \ - --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - ''; - }; + python3Packages.pygobject3 python3Packages.matplotlib ]; + nativeBuildInputs = [ gobject-introspection cmake wrapGAppsHook3 intltool ]; + postFixup = '' + wrapProgram $out/bin/image-analyzer \ + --set PYTHONPATH "$PYTHONPATH" + ''; } diff --git a/pkgs/applications/emulators/cdemu/base.nix b/pkgs/applications/emulators/cdemu/base.nix index 994a0f0e03da..0c51883cb66e 100644 --- a/pkgs/applications/emulators/cdemu/base.nix +++ b/pkgs/applications/emulators/cdemu/base.nix @@ -1,12 +1,16 @@ -{ pname, version, pkgSha256 }: -attrs@{ lib, stdenv, fetchurl, cmake, pkg-config, buildInputs, drvParams ? {}, ... }: -stdenv.mkDerivation ( rec { - inherit pname version buildInputs; +{ lib, stdenv, fetchurl, cmake, pkg-config +, pname, version, sha256, buildInputs +, nativeBuildInputs ? [ ] +, postFixup ? "" +, extraDrvParams ? { } +}: +stdenv.mkDerivation ( { + inherit pname version buildInputs postFixup; src = fetchurl { url = "mirror://sourceforge/cdemu/${pname}-${version}.tar.xz"; - sha256 = pkgSha256; + inherit sha256; }; - nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ [ pkg-config cmake ]; + nativeBuildInputs = nativeBuildInputs ++ [ pkg-config cmake ]; setSourceRoot = '' mkdir build cd build @@ -33,4 +37,4 @@ stdenv.mkDerivation ( rec { platforms = platforms.linux; maintainers = with lib.maintainers; [ bendlas ]; }; -} // drvParams) +} // extraDrvParams) diff --git a/pkgs/applications/emulators/cdemu/client.nix b/pkgs/applications/emulators/cdemu/client.nix index 2e301a115c9a..f53eaedc5573 100644 --- a/pkgs/applications/emulators/cdemu/client.nix +++ b/pkgs/applications/emulators/cdemu/client.nix @@ -1,16 +1,12 @@ -{ callPackage, python3Packages, intltool, makeWrapper }: -let pkg = import ./base.nix { +{ callPackage, python3Packages, intltool, wrapGAppsNoGuiHook }: +callPackage ./base.nix { version = "3.2.5"; pname = "cdemu-client"; - pkgSha256 = "1prrdhv0ia0axc6b73crszqzh802wlkihz6d100yvg7wbgmqabd7"; -}; -in callPackage pkg { - nativeBuildInputs = [ makeWrapper intltool ]; - buildInputs = [ python3Packages.python python3Packages.dbus-python python3Packages.pygobject3 ]; - drvParams = { - postFixup = '' - wrapProgram $out/bin/cdemu \ - --set PYTHONPATH "$PYTHONPATH" - ''; - }; + sha256 = "1prrdhv0ia0axc6b73crszqzh802wlkihz6d100yvg7wbgmqabd7"; + nativeBuildInputs = [ intltool wrapGAppsNoGuiHook ]; + buildInputs = with python3Packages; [ dbus-python pygobject3 ]; + postFixup = '' + wrapProgram $out/bin/cdemu \ + --set PYTHONPATH "$PYTHONPATH" + ''; } diff --git a/pkgs/applications/emulators/cdemu/daemon.nix b/pkgs/applications/emulators/cdemu/daemon.nix index 359b2f26a573..19a9cf3954a6 100644 --- a/pkgs/applications/emulators/cdemu/daemon.nix +++ b/pkgs/applications/emulators/cdemu/daemon.nix @@ -1,13 +1,11 @@ { callPackage, glib, libao, intltool, libmirage, coreutils }: -let pkg = import ./base.nix { - version = "3.2.5"; +callPackage ./base.nix { + version = "3.2.6"; pname = "cdemu-daemon"; - pkgSha256 = "16g6fv1lxkdmbsy6zh5sj54dvgwvm900fd18aq609yg8jnqm644d"; -}; -in callPackage pkg { + sha256 = "sha256-puQE4+91xhRuNjVPZYgN/WO0uO8fVAOdxQWOGQ+FfY8="; nativeBuildInputs = [ intltool ]; buildInputs = [ glib libao libmirage ]; - drvParams.postInstall = '' + extraDrvParams.postInstall = '' mkdir -p $out/share/dbus-1/services cp -R ../$pname-$version/service-example $out/share/cdemu substitute \ diff --git a/pkgs/applications/emulators/cdemu/gui.nix b/pkgs/applications/emulators/cdemu/gui.nix index 3083e1960b5d..ff07c681a72c 100644 --- a/pkgs/applications/emulators/cdemu/gui.nix +++ b/pkgs/applications/emulators/cdemu/gui.nix @@ -1,22 +1,13 @@ -{ callPackage, makeWrapper, gobject-introspection, cmake +{ callPackage, makeWrapper, gobject-introspection, cmake, wrapGAppsHook3 , python3Packages, gtk3, glib, libnotify, intltool, gnome, gdk-pixbuf, librsvg }: -let - pkg = import ./base.nix { - version = "3.2.5"; - pname = "gcdemu"; - pkgSha256 = "1nvpbq4mz8caw91q5ny9gf206g9bypavxws9nxyfcanfkc4zfkl4"; - }; - inherit (python3Packages) python pygobject3; -in callPackage pkg { - buildInputs = [ python pygobject3 gtk3 glib libnotify gnome.adwaita-icon-theme gdk-pixbuf librsvg ]; - drvParams = { - nativeBuildInputs = [ gobject-introspection cmake makeWrapper intltool ]; - postFixup = '' - wrapProgram $out/bin/gcdemu \ - --set PYTHONPATH "$PYTHONPATH" \ - --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - ''; - # TODO AppIndicator - }; +callPackage ./base.nix { + version = "3.2.6"; + pname = "gcdemu"; + sha256 = "sha256-w4vzKoSotL5Cjfr4Cu4YhNSWXJqS+n/vySrwvbhR1zA="; + buildInputs = [ python3Packages.pygobject3 gtk3 glib libnotify gnome.adwaita-icon-theme gdk-pixbuf librsvg ]; + nativeBuildInputs = [ cmake wrapGAppsHook3 intltool ]; + postFixup = '' + wrapProgram $out/bin/gcdemu \ + --set PYTHONPATH "$PYTHONPATH" + ''; } diff --git a/pkgs/applications/emulators/cdemu/libmirage.nix b/pkgs/applications/emulators/cdemu/libmirage.nix index b631d3669dc9..bf7dccd399d4 100644 --- a/pkgs/applications/emulators/cdemu/libmirage.nix +++ b/pkgs/applications/emulators/cdemu/libmirage.nix @@ -2,14 +2,12 @@ , glib, libsndfile, zlib, bzip2, xz, libsamplerate, intltool , pcre, util-linux, libselinux, libsepol }: -let pkg = import ./base.nix { - version = "3.2.5"; +callPackage ./base.nix { + version = "3.2.7"; pname = "libmirage"; - pkgSha256 = "0f8i2ha44rykkk3ac2q8zsw3y1zckw6qnf6zvkyrj3qqbzhrf3fm"; -}; -in callPackage pkg { + sha256 = "sha256-+okkgNeVS8yoKSrQDy4It7PiPlTSiOsUoFxQ1FS9s9M="; buildInputs = [ glib libsndfile zlib bzip2 xz libsamplerate ]; - drvParams = { + extraDrvParams = { PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0"; PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; nativeBuildInputs = [ cmake gobject-introspection pkg-config intltool ];