Skip to content

WIP: virt-manager: enable aarch64-darwin#128767

Closed
kloenk wants to merge 3 commits intoNixOS:masterfrom
kloenk:virt-manager-aarch64-darwin
Closed

WIP: virt-manager: enable aarch64-darwin#128767
kloenk wants to merge 3 commits intoNixOS:masterfrom
kloenk:virt-manager-aarch64-darwin

Conversation

@kloenk
Copy link
Member

@kloenk kloenk commented Jun 30, 2021

Motivation for this change

virt-manager on aarch64-darwin.

Things done

enabled many packages for platforms.darwin.

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • 21.11 Release Notes (or backporting 21.05 Relase notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@ofborg ofborg bot added the 6.topic: darwin Running or building packages on Darwin label Jun 30, 2021
@github-actions github-actions bot added the 6.topic: python Python is a high-level, general-purpose programming language. label Jun 30, 2021
@kloenk
Copy link
Member Author

kloenk commented Jun 30, 2021

This builds, but virt-manager is segfaulting, so not usable at this time.

@kloenk
Copy link
Member Author

kloenk commented Jun 30, 2021

It now works on x86_64-darwin (only can test it via rosetta)

Copy link
Member

@SuperSandro2000 SuperSandro2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please convert all platforms.linux ++ platforms.darwin to platforms.unix


libvirt = callPackage ../development/libraries/libvirt { };
libvirt = callPackage ../development/libraries/libvirt {
inherit (darwin.apple_sdk.frameworks) Carbon AppKit;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
inherit (darwin.apple_sdk.frameworks) Carbon AppKit;
inherit (darwin.apple_sdk.frameworks) AppKit Carbon;

Comment on lines +59 to +60
mesonFlags = [
] ++ lib.optional stdenv.isDarwin "-Dpulseaudio=disabled";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
mesonFlags = [
] ++ lib.optional stdenv.isDarwin "-Dpulseaudio=disabled";
mesonFlags = lib.optional stdenv.isDarwin "-Dpulseaudio=disabled";

cairo
];

doCheck = false;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do the tests not work on aarch64-darwin?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, they failed. Would like to der able them. But did not figured out how yet

Comment on lines +89 to +92
mesonFlags = [
] ++ lib.optional stdenv.isDarwin [
"-D_b_symbolic_functions=false"
];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
mesonFlags = [
] ++ lib.optional stdenv.isDarwin [
"-D_b_symbolic_functions=false"
];
mesonFlags = lib.optionals stdenv.isDarwin [
"-D_b_symbolic_functions=false"
];

glusterfs
] ++ optionals stdenv.isDarwin [
libiconv gmp
libiconv gmp gnumake Carbon AppKit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't gnumake part of the stdenv?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could be. libvirt expects gnumake as gmake. Added this as debugging.

, meson, ninja, audit, cmake, bash-completion, pkg-config
, Carbon, AppKit
, gnumake
, enableXen ? false, xen ? null
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
, enableXen ? false, xen ? null
, enableXen ? false, xen


checkInputs = with python3Packages; [ cpio cdrtools pytestCheckHook ];
doCheck = false;
checkInputs = with python3Packages; [ cpio pytestCheckHook ] ++ lib.optional stdenv.isLinux cdrtool;
Copy link
Member

@SuperSandro2000 SuperSandro2000 Jun 30, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
checkInputs = with python3Packages; [ cpio pytestCheckHook ] ++ lib.optional stdenv.isLinux cdrtool;
checkInputs = with python3Packages; [ cpio pytestCheckHook ]
++ lib.optional stdenv.isLinux cdrtools;

'';

checkInputs = with python3Packages; [ cpio cdrtools pytestCheckHook ];
doCheck = false;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do the tests not work on aarch64-darwin?

pygobject3 ipaddress libvirt libxml2 requests cdrtools
];
pygobject3 ipaddress libvirt libxml2 requests
] ++ lib.optional stdenv.isLinux cdrtool;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
] ++ lib.optional stdenv.isLinux cdrtool;
] ++ lib.optional stdenv.isLinux cdrtools;

propagatedBuildInputs = with python3Packages; [
pygobject3 ipaddress libvirt libxml2 requests cdrtools
];
pygobject3 ipaddress libvirt libxml2 requests
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
pygobject3 ipaddress libvirt libxml2 requests
pygobject3 ipaddress libvirt libxml2 requests

"-Dpolkit=${if withPolkit then "enabled" else "disabled"}"
] ++ lib.optionals stdenv.isDarwin [
"-Dwebdav=disabled"
"-Dusbredir=disabled"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"-Dusbredir=disabled"
"-Dusbredir=disabled"

@stale
Copy link

stale bot commented Jan 3, 2022

I marked this as stale due to inactivity. → More info

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 3, 2022
@AndersonTorres
Copy link
Member

Closing because #152350 will supercede this.

@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: darwin Running or building packages on Darwin 6.topic: python Python is a high-level, general-purpose programming language.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants