Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

llvmPackages_{14,15,16,17}.lldb: use SWIG 4; swig3: drop #341384

Merged
merged 9 commits into from
Sep 12, 2024

Conversation

emilazy
Copy link
Member

@emilazy emilazy commented Sep 12, 2024

Description of changes

Turns out we do need the upstream patches after all, but it was relatively pain‐free. Hopefully we can drop LLVM 12 and 13 entirely soon.

Result of nixpkgs-review run on x86_64-linux 1

7 packages marked as broken and skipped:
  • lldb_12
  • lldb_12.dev
  • lldb_12.lib
  • lldb_13
  • lldb_13.dev
  • lldb_13.lib
  • llvmPackages_13.lldbPlugins.llef
20 packages built:
  • lldb_14
  • lldb_14.dev
  • lldb_14.lib
  • lldb_15
  • lldb_15.dev
  • lldb_15.lib
  • lldb_16
  • lldb_16.dev
  • lldb_16.lib
  • lldb_17
  • lldb_17.dev
  • lldb_17.lib
  • llvmPackages_14.lldbPlugins.llef
  • llvmPackages_15.lldb-manpages
  • llvmPackages_15.lldbPlugins.llef
  • llvmPackages_16.lldb-manpages
  • llvmPackages_16.lldbPlugins.llef
  • llvmPackages_17.lldb-manpages
  • llvmPackages_17.lldbPlugins.llef
  • vscode-extensions.vadimcn.vscode-lldb

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release 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.

Add a 👍 reaction to pull requests you find important.

These have been failing to build on Hydra for over two months. It
looks like it might be a Python 3.12‐related thing, but the SWIG
4 patches wouldn’t apply cleanly and these old versions should
probably just be dropped anyway.
@github-actions github-actions bot added 6.topic: python 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related labels Sep 12, 2024
The patches are already included in LLVM 16 and 17.
@@ -1482,6 +1482,9 @@ mapAliases ({
swift-im = throw "swift-im has been removed as it is unmaintained and depends on deprecated Python 2 / Qt WebKit"; # Added 2023-01-06
swig1 = throw "swig1 has been removed as it is obsolete"; # Added 2024-08-23
swig2 = throw "swig2 has been removed as it is obsolete"; # Added 2024-08-23
swig3 = throw "swig3 has been removed as it is obsolete"; # Added 2024-09-12
swig4 = swig; # Added 2024-09-12
Copy link
Member

Choose a reason for hiding this comment

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

A bit curious about the rationale for making swig4 an alias rather than leaving it as a definition in all-packages.nix?

Copy link
Member Author

Choose a reason for hiding this comment

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

My hope is that we can stop carrying multiple versions, so this is to forbid pinning the current version in‐tree, with a view towards dropping the alias. If you think that’s too ambitious then I can put it back (though the convention would be swig_4, which is another reason I felt like we should just drop it). So far it’s seemed like the number of things that break from new versions is relatively limited, and no one package has seemed like it has taken an inordinate amount of effort to fix during a normal staging cycle.

Copy link
Member

Choose a reason for hiding this comment

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

I think it should be fine given recent experience? (Just wanted to confirm the intent was in fact to forbid pinning.)

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, my thinking is that we can always move it back if SWIG 5 somehow breaks everything, but that at present nobody really has any way of knowing that’s likely so pinning is a bad idea. (Same reason I unpinned all the FFmpeg 7 users.)

@emilazy
Copy link
Member Author

emilazy commented Sep 12, 2024

Updated to include the LLDB patches for Swift too; building that locally on x86_64-darwin. I hate Swift’s LLVM thing…

This version is no longer used for anything in the tree.
Let’s see if we can’t keep only one version of this going forward.

`swigWithJava` has been an alias since 2009(!), so let’s just drop it.
This no longer uses the `swig3` package.
@emilazy
Copy link
Member Author

emilazy commented Sep 12, 2024

I’m bored of waiting for x86_64-darwin, but after sneaking in a tiny unrelated fix I seem to have at least partially fixed Swift:

Result of nixpkgs-review pr 341384 run on aarch64-linux 1

7 packages marked as broken and skipped:
  • lldb_12
  • lldb_12.dev
  • lldb_12.lib
  • lldb_13
  • lldb_13.dev
  • lldb_13.lib
  • llvmPackages_13.lldbPlugins.llef
41 packages built:
  • ghidra-extensions.ghidraninja-ghidra-scripts
  • lldb_14
  • lldb_14.dev
  • lldb_14.lib
  • lldb_15
  • lldb_15.dev
  • lldb_15.lib
  • lldb_16
  • lldb_16.dev
  • lldb_16.lib
  • lldb_17
  • lldb_17.dev
  • lldb_17.lib
  • llvmPackages_14.lldbPlugins.llef
  • llvmPackages_15.lldb-manpages
  • llvmPackages_15.lldbPlugins.llef
  • llvmPackages_16.lldb-manpages
  • llvmPackages_16.lldbPlugins.llef
  • llvmPackages_17.lldb-manpages
  • llvmPackages_17.lldbPlugins.llef
  • sourcekit-lsp
  • swift
  • swift-corelibs-libdispatch
  • swift-corelibs-libdispatch.dev
  • swift-corelibs-libdispatch.man
  • swift-format
  • swift.man
  • swiftPackages.Foundation
  • swiftPackages.Foundation.dev
  • swiftPackages.XCTest
  • swiftPackages.swift-docc
  • swiftPackages.swift-driver
  • swiftPackages.swift-unwrapped
  • swiftPackages.swift-unwrapped.dev
  • swiftPackages.swift-unwrapped.doc
  • swiftPackages.swift-unwrapped.lib
  • swiftPackages.swift-unwrapped.man
  • swiftPackages.swiftNoSwiftDriver
  • swiftPackages.swiftNoSwiftDriver.man
  • swiftPackages.swiftpm
  • vscode-extensions.vadimcn.vscode-lldb

@emilazy
Copy link
Member Author

emilazy commented Sep 12, 2024

(Swift finished building on x86_64-darwin.)

@bcdarwin
Copy link
Member

nixpkgs-review happy, x86_64-linux:

7 packages marked as broken and skipped:

lldb_12 lldb_12.dev lldb_12.lib lldb_13 lldb_13.dev lldb_13.lib llvmPackages_13.lldbPlugins.llef

43 packages built:

deadbeef deadbeef-with-plugins ghidra-extensions.ghidraninja-ghidra-scripts lldb_14 lldb_14.dev lldb_14.lib lldb_15 lldb_15.dev lldb_15.lib lldb_16 lldb_16.dev lldb_16.lib lldb_17 lldb_17.dev lldb_17.lib llvmPackages_14.lldbPlugins.llef llvmPackages_15.lldb-manpages llvmPackages_15.lldbPlugins.llef llvmPackages_16.lldb-manpages llvmPackages_16.lldbPlugins.llef llvmPackages_17.lldb-manpages llvmPackages_17.lldbPlugins.llef sourcekit-lsp swift swift-corelibs-libdispatch swift-corelibs-libdispatch.dev swift-corelibs-libdispatch.man swift-format swift.man swiftPackages.Foundation swiftPackages.Foundation.dev swiftPackages.XCTest swiftPackages.swift-docc swiftPackages.swift-driver swiftPackages.swift-unwrapped swiftPackages.swift-unwrapped.dev swiftPackages.swift-unwrapped.doc swiftPackages.swift-unwrapped.lib swiftPackages.swift-unwrapped.man swiftPackages.swiftNoSwiftDriver swiftPackages.swiftNoSwiftDriver.man swiftPackages.swiftpm vscode-extensions.vadimcn.vscode-lldb

Copy link
Member

@bcdarwin bcdarwin left a comment

Choose a reason for hiding this comment

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

ok, LGTM.

@emilazy emilazy merged commit ccd4aee into NixOS:master Sep 12, 2024
11 of 12 checks passed
@emilazy emilazy deleted the push-rzyzyqyruqnt branch September 12, 2024 21:34
@doronbehar doronbehar mentioned this pull request Oct 18, 2024
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants