Skip to content

xdg-user-dirs: make sure libiconv is linked#346970

Merged
emilazy merged 1 commit intoNixOS:stagingfrom
reckenrode:push-urnzqozlykmm
Oct 11, 2024
Merged

xdg-user-dirs: make sure libiconv is linked#346970
emilazy merged 1 commit intoNixOS:stagingfrom
reckenrode:push-urnzqozlykmm

Conversation

@reckenrode
Copy link
Copy Markdown
Contributor

Because the Darwin SDK automatically propagates libiconv after #346043, it is no longer linked automatically (because that would link libiconv to everything whether it wanted it or not).

xdg-user-dirs is failing to link not because it assumes libiconv comes with libc but because of a bug in its build system. The configure script detects how to link libiconv, but Makefile.am does not make use of that to link libiconv when it is needed.

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.

@reckenrode reckenrode marked this pull request as draft October 7, 2024 00:44
@reckenrode reckenrode changed the base branch from reckenrode/darwin-sdk-refactor to master October 7, 2024 00:45
@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: qt/kde Object-oriented framework for GUI creation 6.topic: kernel The Linux kernel 8.has: documentation This PR adds or changes documentation 8.has: changelog This PR adds or changes release notes 8.has: module (update) This PR changes an existing module in `nixos/` 6.topic: emacs Text editor 6.topic: printing Drivers, CUPS & Co. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: golang Go is a high-level general purpose programming language that is statically typed and compiled. 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 6.topic: vim Advanced text editor 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: xfce The Xfce Desktop Environment 6.topic: stdenv Standard environment 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 6.topic: systemd Software suite that provides an array of system components for Linux operating systems. 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: dotnet Language: .NET labels Oct 7, 2024
@github-actions github-actions bot removed 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: qt/kde Object-oriented framework for GUI creation 6.topic: kernel The Linux kernel 8.has: documentation This PR adds or changes documentation 8.has: changelog This PR adds or changes release notes labels Oct 7, 2024
@reckenrode reckenrode marked this pull request as draft October 7, 2024 00:47
@reckenrode
Copy link
Copy Markdown
Contributor Author

Considering it depends on libiconv in the SDK, I’m going to stack this on the SDK PR.

@reckenrode reckenrode changed the base branch from master to reckenrode/darwin-sdk-refactor October 7, 2024 00:48
@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: documentation This PR adds or changes documentation 8.has: changelog This PR adds or changes release notes 8.has: module (update) This PR changes an existing module in `nixos/` 6.topic: emacs Text editor 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 6.topic: pantheon The Pantheon desktop environment 6.topic: module system About "NixOS" module system internals 6.topic: systemd Software suite that provides an array of system components for Linux operating systems. 6.topic: nim Nim programing language 6.topic: vscode A free and versatile code editor that supports almost every major programming language. 6.topic: lib The Nixpkgs function library 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` labels Oct 7, 2024
@github-actions github-actions bot removed 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: documentation This PR adds or changes documentation 8.has: changelog This PR adds or changes release notes 8.has: module (update) This PR changes an existing module in `nixos/` 6.topic: emacs Text editor 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. labels Oct 7, 2024
Because the Darwin SDK automatically propagates libiconv, it is no
longer linked automatically (because that would link libiconv to
everything whether it wanted it or not).

xdg-user-dirs is failing to link not because it assumes libiconv comes
with libc but because of a bug in its build system. The `configure`
script detects how to link libiconv, but `Makefile.am` does not make use
of that to link libiconv when it is needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants