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

libgit2: 1.8.4 -> 1.9.0 (also pygit2 update) #373096

Open
wants to merge 14 commits into
base: staging
Choose a base branch
from

Conversation

rhelmot
Copy link
Contributor

@rhelmot rhelmot commented Jan 12, 2025

Also includes a small configuration diff to get it to build on OpenBSD. I'll run nixpkgs-review overnight.

Changelog

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
    • x86_64-openbsd (cross)
  • 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/)
  • 25.05 Release Notes (or backporting 24.11 and 25.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.

@rhelmot
Copy link
Contributor Author

rhelmot commented Jan 17, 2025

nixpkgs-review is still running... there are 11 failures so far, most of which are projects that have libgit2 pinned to < 1.9.0... which is obviously concerning.

@rhelmot
Copy link
Contributor Author

rhelmot commented Jan 17, 2025

libgit2 seems to have introduced breaking changes this version, so this is gonna be a nasty upgrade...

@rhelmot
Copy link
Contributor Author

rhelmot commented Jan 21, 2025

FINALLY

--------- Report for 'x86_64-linux' ---------
2 packages marked as broken and skipped:
python312Packages.dvc-gdrive python312Packages.dvc-gdrive.dist

1 package blacklisted:
nixos-install-tools

153 packages failed to build:
am2rlauncher appvm cabal2nix cachix cantor cargo-generate cargo-update charmcraft charmcraft.dist colmena darkradiant devenv dvc dvc-with-remotes dvc-with-remotes.dist dvc.dist edopro gcalcli gcalcli.dist gex git-annex-metadata-gui git-annex-metadata-gui.dist git-mit git-warp-time git-warp-time.dev git-warp-time.doc git-warp-time.man gitbutler gitg glamoroustoolkit gnome-builder gnome-builder.devdoc guile-git guix hci hercules-ci-agent hydra hydra.doc jami jujutsu justbuild kicad kicad-small kicad-testing kicad-testing-small kicad-unstable kicad-unstable-small kicadAddons.kikit kicadAddons.kikit-library kikit kikit.dist labplot latte-dock lazyjj libgit2-glib libgit2-glib.dev libgit2-glib.devdoc libsForQt5.kdeplasma-addons libsForQt5.kinfocenter libsForQt5.plasma-desktop luarocks-packages-updater luarocks-packages-updater.dist nil niv nix-eval-jobs nix-fast-build nix-fast-build.dist nix-init nix-prefetch-bzr nix-prefetch-scripts nix-serve-ng nix-update-source nix-update-source.dist nixStatic nixStatic.dev nixStatic.doc nixStatic.man nixVersions.git nixVersions.git.debug nixVersions.git.dev nixVersions.git.doc nixVersions.git.man nixVersions.latest nixVersions.latest.debug nixVersions.latest.dev nixVersions.latest.doc nixVersions.latest.man pantheon-tweaks pantheon.elementary-code pantheon.elementary-files pantheon.elementary-files.dev poac python312Packages.craft-application python312Packages.craft-application.dist python312Packages.dvc-hdfs python312Packages.dvc-hdfs.dist python312Packages.dvclive python312Packages.dvclive.dist python312Packages.gftools python312Packages.gftools.dist python312Packages.git-annex-adapter python312Packages.git-annex-adapter.dist python312Packages.gto python312Packages.gto.dist python312Packages.kicad python312Packages.mmcv python312Packages.mmcv.dist python312Packages.mmengine python312Packages.mmengine.dist python312Packages.nix-kernel python312Packages.nix-kernel.dist python312Packages.notobuilder python312Packages.notobuilder.dist python312Packages.pcbnewtransition python312Packages.pcbnewtransition.dist python312Packages.scmrepo python312Packages.scmrepo.dist python313Packages.craft-application python313Packages.craft-application.dist python313Packages.gftools python313Packages.gftools.dist python313Packages.git-annex-adapter python313Packages.git-annex-adapter.dist python313Packages.gto python313Packages.gto.dist python313Packages.kicad python313Packages.nix-kernel python313Packages.nix-kernel.dist python313Packages.notobuilder python313Packages.notobuilder.dist python313Packages.pcbnewtransition python313Packages.pcbnewtransition.dist python313Packages.scmrepo python313Packages.scmrepo.dist rockcraft rockcraft.dist sbomnix sbomnix.dist snapcraft snapcraft.dist sourcehut.gitsrht sourcehut.gitsrht.dist sourcehut.listssrht sourcehut.listssrht.dist sourcehut.mansrht sourcehut.mansrht.dist terminal-typeracer vala-language-server vulnix vulnix.dist vulnix.doc vulnix.man zon2nix

255 packages built:
amarok amarok.doc amp attic-client attic-server biome bower2nix breath-theme broot bundix cached-nix-shell cargo-codspeed cargo-duplicates cargo-local-registry cargo-raze cargo-release cargo-ui cargo-unused-features chickenPackages_5.chickenEggs.git chirpstack-concentratord ciel cocogitto colloid-kde colloid-kde.sddm commafeed common-updater-scripts crate2nix criterion criterion.dev crystal2nix debase disko dub-to-nix dydisnix envision envision-unwrapped eureka-ideas felix-fm ffizer forgejo-cli fritzing fusionInventory fw gallia gallia.dist git-agecrypt git-dive git-igitt git-instafix git-series git-trim gitfs gitfs.dist gitless gitless.dist gitstatus gitu glpi-agent gnuastro gql graphite-kde-theme home-manager horizon-eda intelli-shell josh kbibtex kcl kdePackages.calligra kdePackages.calligra.debug kdePackages.calligra.dev kdePackages.calligra.devtools kdePackages.kup kdePackages.kup.debug kdePackages.kup.dev kdePackages.kup.devtools klayout kup l2md layan-kde libgit2 libgit2.dev libgit2.lib libnixxml libsForQt5.akregator libsForQt5.akregator.dev libsForQt5.applet-window-appmenu libsForQt5.bismuth libsForQt5.dolphin libsForQt5.dolphin-plugins libsForQt5.dolphin-plugins.dev libsForQt5.dolphin.dev libsForQt5.dragon libsForQt5.dragon.dev libsForQt5.kate libsForQt5.kde-cli-tools libsForQt5.kdepim-addons libsForQt5.kdev-php libsForQt5.kdev-python libsForQt5.kdevelop libsForQt5.kdevelop-unwrapped libsForQt5.khotkeys libsForQt5.khotkeys.bin libsForQt5.khotkeys.dev libsForQt5.kig libsForQt5.kmail libsForQt5.kmail-account-wizard libsForQt5.kmail.doc libsForQt5.kmenuedit libsForQt5.kompare libsForQt5.kompare.dev libsForQt5.kontact libsForQt5.krohnkite libsForQt5.ktexteditor libsForQt5.ktexteditor.bin libsForQt5.ktexteditor.dev libsForQt5.ktouch libsForQt5.kwin-dynamic-workspaces libsForQt5.kwin-tiling libsForQt5.kzones libsForQt5.parachute libsForQt5.pim-data-exporter libsForQt5.plasma-bigscreen libsForQt5.plasma-browser-integration libsForQt5.plasma-disks libsForQt5.plasma-disks.bin libsForQt5.plasma-disks.dev libsForQt5.plasma-mobile libsForQt5.plasma-remotecontrollers libsForQt5.plasma-sdk libsForQt5.plasma-workspace libsForQt5.plasma-workspace.dev libsForQt5.powerdevil libsForQt5.rocs libsForQt5.systemsettings libsForQt5.systemsettings.bin libsForQt5.systemsettings.dev libsForQt5.umbrello libsForQt5.xdg-desktop-portal-kde lightly-boehs lightly-qt lua51Packages.luarocks-nix lua52Packages.luarocks-nix lua53Packages.luarocks-nix lua54Packages.luarocks-nix luajitPackages.luarocks-nix mercurialFull nim_lk nix nix-binary-cache nix-bundle nix-direnv nix-du nix-forecast nix-index nix-inspect nix-pin nix-plugin-pijul nix-plugins nix-prefetch nix-prefetch-cvs nix-prefetch-docker nix-prefetch-git nix-prefetch-hg nix-prefetch-svn nix-required-mounts nix-required-mounts.dist nix-serve nix-template nix-unit nix-update nix-update.dist nix-visualize nix-visualize.dist nix-web nix.debug nix.dev nix.doc nix.man nixci nixd nixos-anywhere nixos-generators nixos-option nixos-rebuild nixos-rebuild-ng nixos-rebuild-ng.dist nixos-shell nixpkgs-hammering nixpkgs-manual nixpkgs-review nixpkgs-review.dist nixt nixt.dev nixtract node2nix nordic nordic.sddm npins nuget-to-json nuget-to-nix nurl nvfetcher outline oxide-rs panamax pharo pijul pixi plasticity powerline powerline-rs powerline.dist pragtical prefetch-yarn-deps projectable public-inbox public-inbox.devdoc public-inbox.sa_config python312Packages.horizon-eda python312Packages.pygit2 python312Packages.pygit2.dist python313Packages.horizon-eda python313Packages.powerline python313Packages.powerline.dist python313Packages.pygit2 python313Packages.pygit2.dist rustdesk sbclPackages.cl-git siketyan-ghr siril stagit subsurface swiftPackages.swiftpm2nix tartufo tartufo.dist terranix tinymist tui-journal turtle turtle.dist typescript-language-server update-nix-fetchgit update-python-libraries vimPlugins.fugit2-nvim vimPlugins.typescript-tools-nvim vimPlugins.typst-preview-nvim vimPlugins.vim-clap vimPluginsUpdater vscode-extensions.myriad-dreamin.tinymist wacomtablet wp4nix yarn2nix zed-editor zed-editor.remote_server zsh-powerlevel10k

@emilazy
Copy link
Member

emilazy commented Jan 21, 2025

Pushed to:

  • rebase on the merge base of staging and master for easier testing;
  • fix the build on Darwin when using a case‐sensitive build directory;
  • fix Nix and Jujutsu.

Will try another review with these fixes; hopefully it’ll be considerably more green.

Copy link
Member

@Mic92 Mic92 left a comment

Choose a reason for hiding this comment

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

Nix side looks good to me.

@rhelmot

This comment has been minimized.

@emilazy
Copy link
Member

emilazy commented Jan 22, 2025

nixStatic is already broken on master, because pkgsStatic.git is. This PR isn’t regressing it, so no worries there.

We were already patching libgit2-glib for 1.8.0; I’ve added a patch for 1.9.0 that is already used by Homebrew. That should fix a handful of the failures.

cargo-update was fixed with a bump. It looks like GitButler would be fixed with an update too but there‘s some cursed Cargo fetcher thing that makes that not just a matter of nix-update.

cargo-generate and nix-init look like they just need Cargo patches to bump their indirect git2 dependencies. Hopefully nix-init can be fixed upstream as with the last libgit2 bump.

Nothing else really looks concerning, assuming that the libgit2-glib patch fixes its downstream users. Probably a good time for another nixpkgs-review run.

@rhelmot
Copy link
Contributor Author

rhelmot commented Jan 22, 2025

--------- Report for 'x86_64-linux' ---------
2 packages marked as broken and skipped:
python312Packages.dvc-gdrive python312Packages.dvc-gdrive.dist

1 package blacklisted:
nixos-install-tools

37 packages failed to build:
cargo-generate edopro gex git-mit git-warp-time git-warp-time.dev git-warp-time.doc git-warp-time.man gitbutler guile-git guix jami kicad-testing kicad-testing-small kicad-unstable kicad-unstable-small lazyjj nix-init nixStatic nixStatic.dev nixStatic.doc nixStatic.man poac python312Packages.gftools python312Packages.gftools.dist python312Packages.notobuilder python312Packages.notobuilder.dist python313Packages.gftools python313Packages.gftools.dist python313Packages.nix-kernel python313Packages.nix-kernel.dist python313Packages.notobuilder python313Packages.notobuilder.dist snapcraft snapcraft.dist terminal-typeracer zon2nix

371 packages built:
am2rlauncher amarok amarok.doc amp appvm attic-client attic-server biome bower2nix breath-theme broot bundix cabal2nix cached-nix-shell cachix cantor cargo-codspeed cargo-duplicates cargo-local-registry cargo-raze cargo-release cargo-ui cargo-unused-features cargo-update charmcraft charmcraft.dist chickenPackages_5.chickenEggs.git chirpstack-concentratord ciel cocogitto colloid-kde colloid-kde.sddm colmena commafeed common-updater-scripts crate2nix criterion criterion.dev crystal2nix darkradiant debase devenv disko dub-to-nix dvc dvc-with-remotes dvc-with-remotes.dist dvc.dist dydisnix envision envision-unwrapped eureka-ideas felix-fm ffizer forgejo-cli fritzing fusionInventory fw gallia gallia.dist gcalcli gcalcli.dist git-agecrypt git-annex-metadata-gui git-annex-metadata-gui.dist git-dive git-igitt git-instafix git-series git-trim gitfs gitfs.dist gitg gitless gitless.dist gitstatus gitu glamoroustoolkit glpi-agent gnome-builder gnome-builder.devdoc gnuastro gql graphite-kde-theme hci hercules-ci-agent home-manager horizon-eda hydra hydra.doc intelli-shell josh jujutsu justbuild kbibtex kcl kdePackages.calligra kdePackages.calligra.debug kdePackages.calligra.dev kdePackages.calligra.devtools kdePackages.kup kdePackages.kup.debug kdePackages.kup.dev kdePackages.kup.devtools kicad kicad-small kicadAddons.kikit kicadAddons.kikit-library kikit kikit.dist klayout kup l2md labplot latte-dock layan-kde libgit2 libgit2-glib libgit2-glib.dev libgit2-glib.devdoc libgit2.dev libgit2.lib libnixxml libsForQt5.akregator libsForQt5.akregator.dev libsForQt5.applet-window-appmenu libsForQt5.bismuth libsForQt5.dolphin libsForQt5.dolphin-plugins libsForQt5.dolphin-plugins.dev libsForQt5.dolphin.dev libsForQt5.dragon libsForQt5.dragon.dev libsForQt5.kate libsForQt5.kde-cli-tools libsForQt5.kdepim-addons libsForQt5.kdeplasma-addons libsForQt5.kdev-php libsForQt5.kdev-python libsForQt5.kdevelop libsForQt5.kdevelop-unwrapped libsForQt5.khotkeys libsForQt5.khotkeys.bin libsForQt5.khotkeys.dev libsForQt5.kig libsForQt5.kinfocenter libsForQt5.kmail libsForQt5.kmail-account-wizard libsForQt5.kmail.doc libsForQt5.kmenuedit libsForQt5.kompare libsForQt5.kompare.dev libsForQt5.kontact libsForQt5.krohnkite libsForQt5.ktexteditor libsForQt5.ktexteditor.bin libsForQt5.ktexteditor.dev libsForQt5.ktouch libsForQt5.kwin-dynamic-workspaces libsForQt5.kwin-tiling libsForQt5.kzones libsForQt5.parachute libsForQt5.pim-data-exporter libsForQt5.plasma-bigscreen libsForQt5.plasma-browser-integration libsForQt5.plasma-desktop libsForQt5.plasma-disks libsForQt5.plasma-disks.bin libsForQt5.plasma-disks.dev libsForQt5.plasma-mobile libsForQt5.plasma-remotecontrollers libsForQt5.plasma-sdk libsForQt5.plasma-workspace libsForQt5.plasma-workspace.dev libsForQt5.powerdevil libsForQt5.rocs libsForQt5.systemsettings libsForQt5.systemsettings.bin libsForQt5.systemsettings.dev libsForQt5.umbrello libsForQt5.xdg-desktop-portal-kde lightly-boehs lightly-qt lua51Packages.luarocks-nix lua52Packages.luarocks-nix lua53Packages.luarocks-nix lua54Packages.luarocks-nix luajitPackages.luarocks-nix luarocks-packages-updater luarocks-packages-updater.dist mercurialFull nil nim_lk niv nix nix-binary-cache nix-bundle nix-direnv nix-du nix-eval-jobs nix-fast-build nix-fast-build.dist nix-forecast nix-index nix-inspect nix-pin nix-plugin-pijul nix-plugins nix-prefetch nix-prefetch-bzr nix-prefetch-cvs nix-prefetch-docker nix-prefetch-git nix-prefetch-hg nix-prefetch-scripts nix-prefetch-svn nix-required-mounts nix-required-mounts.dist nix-serve nix-serve-ng nix-template nix-unit nix-update nix-update-source nix-update-source.dist nix-update.dist nix-visualize nix-visualize.dist nix-web nix.debug nix.dev nix.doc nix.man nixVersions.git nixVersions.git.debug nixVersions.git.dev nixVersions.git.doc nixVersions.git.man nixVersions.latest nixVersions.latest.debug nixVersions.latest.dev nixVersions.latest.doc nixVersions.latest.man nixci nixd nixos-anywhere nixos-generators nixos-option nixos-rebuild nixos-rebuild-ng nixos-rebuild-ng.dist nixos-shell nixpkgs-hammering nixpkgs-manual nixpkgs-review nixpkgs-review.dist nixt nixt.dev nixtract node2nix nordic nordic.sddm npins nuget-to-json nuget-to-nix nurl nvfetcher outline oxide-rs panamax pantheon-tweaks pantheon.elementary-code pantheon.elementary-files pantheon.elementary-files.dev pharo pijul pixi plasticity powerline powerline-rs powerline.dist pragtical prefetch-yarn-deps projectable public-inbox public-inbox.devdoc public-inbox.sa_config python312Packages.craft-application python312Packages.craft-application.dist python312Packages.dvc-hdfs python312Packages.dvc-hdfs.dist python312Packages.dvclive python312Packages.dvclive.dist python312Packages.git-annex-adapter python312Packages.git-annex-adapter.dist python312Packages.gto python312Packages.gto.dist python312Packages.horizon-eda python312Packages.kicad python312Packages.mmcv python312Packages.mmcv.dist python312Packages.mmengine python312Packages.mmengine.dist python312Packages.nix-kernel python312Packages.nix-kernel.dist python312Packages.pcbnewtransition python312Packages.pcbnewtransition.dist python312Packages.pygit2 python312Packages.pygit2.dist python312Packages.scmrepo python312Packages.scmrepo.dist python313Packages.craft-application python313Packages.craft-application.dist python313Packages.git-annex-adapter python313Packages.git-annex-adapter.dist python313Packages.gto python313Packages.gto.dist python313Packages.horizon-eda python313Packages.kicad python313Packages.pcbnewtransition python313Packages.pcbnewtransition.dist python313Packages.powerline python313Packages.powerline.dist python313Packages.pygit2 python313Packages.pygit2.dist python313Packages.scmrepo python313Packages.scmrepo.dist rockcraft rockcraft.dist rustdesk sbclPackages.cl-git sbomnix sbomnix.dist siketyan-ghr siril sourcehut.gitsrht sourcehut.gitsrht.dist sourcehut.listssrht sourcehut.listssrht.dist sourcehut.mansrht sourcehut.mansrht.dist stagit subsurface swiftPackages.swiftpm2nix tartufo tartufo.dist terranix tinymist tui-journal turtle turtle.dist typescript-language-server update-nix-fetchgit update-python-libraries vala-language-server vimPlugins.fugit2-nvim vimPlugins.typescript-tools-nvim vimPlugins.typst-preview-nvim vimPlugins.vim-clap vimPluginsUpdater vscode-extensions.myriad-dreamin.tinymist vulnix vulnix.dist vulnix.doc vulnix.man wacomtablet wp4nix yarn2nix zed-editor zed-editor.remote_server zsh-powerlevel10k

@emilazy
Copy link
Member

emilazy commented Jan 22, 2025

The actual regressions vs. master (other than GitButler) are:

✔  cargo-generate-0.22.1  2025-01-19  https://hydra.nixos.org/build/285731652
✔  edopro-application-40.1.4  2025-01-19  https://hydra.nixos.org/build/285667490
✔  gex-0.6.4  2025-01-20  https://hydra.nixos.org/build/285808304
✔  git-mit-5.14.3  2025-01-19  https://hydra.nixos.org/build/285787901
✔  git-warp-time-0.8.4  2025-01-19  https://hydra.nixos.org/build/285745844
✔  guile-git-0.9.0  2025-01-20  https://hydra.nixos.org/build/285782126
✔  guix-1.4.0  2025-01-20  https://hydra.nixos.org/build/285738832
✔  nix-init-0.3.2  2025-01-19  https://hydra.nixos.org/build/285739351
✔  poac-0.10.1  2025-01-19  https://hydra.nixos.org/build/285681930
✔  snapcraft-8.5.1  2025-01-22  https://hydra.nixos.org/build/286309123

I’ll try to take a look at these tonight.

@rhelmot
Copy link
Contributor Author

rhelmot commented Jan 22, 2025

edo9300/edopro#284 legitimate failure from upstream with no patch available for edopro-application.

@emilazy
Copy link
Member

emilazy commented Jan 23, 2025

snapcraft was apparently a transient failure. I believe the only remaining regressions are nix-init (waiting on nix-community/nix-init#589) and gitbutler (waiting on #282798), so this should be as ready as it’ll ever be. Upstreaming the guile-git changes is pending figuring out what happened to my GitLab account…

@rhelmot
Copy link
Contributor Author

rhelmot commented Jan 23, 2025

also poac, which was renamed to cabinpkg on master, should be fixed with #376011

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants