Skip to content

azure-sdk-for-cpp: init at various versions#348202

Merged
ShamrockLee merged 8 commits intoNixOS:masterfrom
tobim:pkgs/azure-sdk-for-cpp
Dec 8, 2025
Merged

azure-sdk-for-cpp: init at various versions#348202
ShamrockLee merged 8 commits intoNixOS:masterfrom
tobim:pkgs/azure-sdk-for-cpp

Conversation

@tobim
Copy link
Contributor

@tobim tobim commented Oct 13, 2024

My motivation to have this packaged is so we can enable ABFS support in arrow-cpp.

Each API client library is built in a dedicated derivation to minimize closure sizes of dependent packages.

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.

@tobim tobim force-pushed the pkgs/azure-sdk-for-cpp branch 2 times, most recently from da846b2 to 98b6aa7 Compare October 13, 2024 08:40
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Oct 13, 2024
@tobim tobim mentioned this pull request Oct 28, 2024
13 tasks
Copy link
Contributor

@cpcloud cpcloud left a comment

Choose a reason for hiding this comment

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

Given the constraints, this seems reasonable.

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one person. label Oct 29, 2024
@FliegendeWurst FliegendeWurst added the 12.approvals: 2 This PR was reviewed and approved by two persons. label Nov 11, 2024
@wegank wegank removed the 12.approvals: 1 This PR was reviewed and approved by one person. label Nov 11, 2024
@tobim tobim force-pushed the pkgs/azure-sdk-for-cpp branch from 98b6aa7 to b1cecf9 Compare February 7, 2025 09:08
@wegank wegank removed the 12.approvals: 2 This PR was reviewed and approved by two persons. label Feb 7, 2025
@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 2 This PR was reviewed and approved by two persons. label Jun 25, 2025
@tobim tobim force-pushed the pkgs/azure-sdk-for-cpp branch from 3be2ded to 0a4224c Compare July 11, 2025 07:38
@tobim
Copy link
Contributor Author

tobim commented Jul 11, 2025

I updated the source to the most recent tag of azure-core. This is still good to go.
Once it is merged I want to use it in arrow-cpp to enable Azure Filesystem support.

@nixpkgs-ci nixpkgs-ci bot removed the 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. label Jul 11, 2025
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.

What is your plan to keep all those version numbers in sync?

openssl,
}:
let
macro-utils-c = stdenv.mkDerivation {
Copy link
Member

Choose a reason for hiding this comment

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

Why are those packages inline unlike the others?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

They are not part of the SDK itself, and given that they are custom versions I opted to not expose them as regular attributes.

@tobim
Copy link
Contributor Author

tobim commented Jul 12, 2025

What is your plan to keep all those version numbers in sync?

I plan to add a dedicated update script when there is an actual update to be done.

@osbm
Copy link
Member

osbm commented Sep 23, 2025

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 348202
Commit: 0a4224c91f193ea9481597481e728bc165b59215 (subsequent changes)
Merge: 3b2d5624cb482dda2077f3244141b6e27ab2c254

Logs: https://github.com/osbm/nixpkgs-review-gha/actions/runs/17942835138


x86_64-linux

✅ 1 package built:
  • azure-sdk-for-cpp

aarch64-linux

✅ 1 package built:
  • azure-sdk-for-cpp

x86_64-darwin (sandbox = true)

❌ 1 package failed to build:
  • azure-sdk-for-cpp

aarch64-darwin (sandbox = true)

❌ 1 package failed to build:
  • azure-sdk-for-cpp

@ShamrockLee
Copy link
Contributor

ShamrockLee commented Oct 14, 2025

How could I help with this PR and PR #426611?

Both @osbm's nixpkgs-review results and OfBorg build logs show that azure-sdk-for-cpp.core-amqp is failing to build on Darwin platforms. Should we mark those platforms as unsupported for now?

@tobim
Copy link
Contributor Author

tobim commented Oct 15, 2025

Thanks for offering your help!
If you have a darwin machine you could try to build it locally and see what causes it to fail.
If not, it might be worth a shot to try clangStdenv.

@tobim tobim force-pushed the pkgs/azure-sdk-for-cpp branch 2 times, most recently from ef01f12 to e6e80a3 Compare October 26, 2025 08:46
@tobim tobim force-pushed the pkgs/azure-sdk-for-cpp branch from 187a266 to 2f00e46 Compare November 14, 2025 09:52
@osbm
Copy link
Member

osbm commented Nov 18, 2025

nixpkgs vet is failing

@tobim tobim force-pushed the pkgs/azure-sdk-for-cpp branch from 2f00e46 to 86ca648 Compare December 6, 2025 11:14
@ShamrockLee ShamrockLee dismissed their stale review December 7, 2025 14:48

azure-sdk-for-cpp is now the package scope. The remaining propagatedBuildInputs are to workaround dependent packages expecting transient dependencies to be present according to Tobias (@tobim).

@tobim
Copy link
Contributor Author

tobim commented Dec 7, 2025

Anything else you want me to do so this can be merged?

Copy link
Contributor

@ShamrockLee ShamrockLee left a comment

Choose a reason for hiding this comment

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

The copyright file location is a blocker, and the rest are not.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Dec 7, 2025
Copy link
Contributor

@ShamrockLee ShamrockLee left a comment

Choose a reason for hiding this comment

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

Here are all the moveToOutput suggestions.

tobim and others added 5 commits December 8, 2025 00:45
It's cleaner to make the SDK a dedicated scope and force call sites
to list the modules they actually need.
This makes the top-level package significantly simpler.
@tobim tobim force-pushed the pkgs/azure-sdk-for-cpp branch from 5b0e8b3 to 651d15c Compare December 7, 2025 23:46
@ShamrockLee
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 348202
Commit: 651d15c226bd22506796feb11042a7b2ff86991f (subsequent changes)
Merge: f5e66949b152e5f664335df6f5e98c7878985944

Logs: https://github.com/ShamrockLee/nixpkgs-review-gha/actions/runs/20022819414


x86_64-linux

✅ 37 packages built:
  • azure-sdk-for-cpp.c-shared-utility
  • azure-sdk-for-cpp.core
  • azure-sdk-for-cpp.core-amqp
  • azure-sdk-for-cpp.core-amqp.dev
  • azure-sdk-for-cpp.core-tracing-opentelemetry
  • azure-sdk-for-cpp.core-tracing-opentelemetry.dev
  • azure-sdk-for-cpp.core.dev
  • azure-sdk-for-cpp.data-tables
  • azure-sdk-for-cpp.data-tables.dev
  • azure-sdk-for-cpp.identity
  • azure-sdk-for-cpp.identity.dev
  • azure-sdk-for-cpp.macro-utils-c
  • azure-sdk-for-cpp.messaging-eventhubs
  • azure-sdk-for-cpp.messaging-eventhubs-checkpointstore-blob
  • azure-sdk-for-cpp.messaging-eventhubs-checkpointstore-blob.dev
  • azure-sdk-for-cpp.messaging-eventhubs.dev
  • azure-sdk-for-cpp.security-attestation
  • azure-sdk-for-cpp.security-attestation.dev
  • azure-sdk-for-cpp.security-keyvault-administration
  • azure-sdk-for-cpp.security-keyvault-administration.dev
  • azure-sdk-for-cpp.security-keyvault-certificates
  • azure-sdk-for-cpp.security-keyvault-certificates.dev
  • azure-sdk-for-cpp.security-keyvault-keys
  • azure-sdk-for-cpp.security-keyvault-keys.dev
  • azure-sdk-for-cpp.security-keyvault-secrets
  • azure-sdk-for-cpp.security-keyvault-secrets.dev
  • azure-sdk-for-cpp.storage-blobs
  • azure-sdk-for-cpp.storage-blobs.dev
  • azure-sdk-for-cpp.storage-common
  • azure-sdk-for-cpp.storage-common.dev
  • azure-sdk-for-cpp.storage-files-datalake
  • azure-sdk-for-cpp.storage-files-datalake.dev
  • azure-sdk-for-cpp.storage-files-shares
  • azure-sdk-for-cpp.storage-files-shares.dev
  • azure-sdk-for-cpp.storage-queues
  • azure-sdk-for-cpp.storage-queues.dev
  • azure-sdk-for-cpp.umock-c

aarch64-linux

✅ 37 packages built:
  • azure-sdk-for-cpp.c-shared-utility
  • azure-sdk-for-cpp.core
  • azure-sdk-for-cpp.core-amqp
  • azure-sdk-for-cpp.core-amqp.dev
  • azure-sdk-for-cpp.core-tracing-opentelemetry
  • azure-sdk-for-cpp.core-tracing-opentelemetry.dev
  • azure-sdk-for-cpp.core.dev
  • azure-sdk-for-cpp.data-tables
  • azure-sdk-for-cpp.data-tables.dev
  • azure-sdk-for-cpp.identity
  • azure-sdk-for-cpp.identity.dev
  • azure-sdk-for-cpp.macro-utils-c
  • azure-sdk-for-cpp.messaging-eventhubs
  • azure-sdk-for-cpp.messaging-eventhubs-checkpointstore-blob
  • azure-sdk-for-cpp.messaging-eventhubs-checkpointstore-blob.dev
  • azure-sdk-for-cpp.messaging-eventhubs.dev
  • azure-sdk-for-cpp.security-attestation
  • azure-sdk-for-cpp.security-attestation.dev
  • azure-sdk-for-cpp.security-keyvault-administration
  • azure-sdk-for-cpp.security-keyvault-administration.dev
  • azure-sdk-for-cpp.security-keyvault-certificates
  • azure-sdk-for-cpp.security-keyvault-certificates.dev
  • azure-sdk-for-cpp.security-keyvault-keys
  • azure-sdk-for-cpp.security-keyvault-keys.dev
  • azure-sdk-for-cpp.security-keyvault-secrets
  • azure-sdk-for-cpp.security-keyvault-secrets.dev
  • azure-sdk-for-cpp.storage-blobs
  • azure-sdk-for-cpp.storage-blobs.dev
  • azure-sdk-for-cpp.storage-common
  • azure-sdk-for-cpp.storage-common.dev
  • azure-sdk-for-cpp.storage-files-datalake
  • azure-sdk-for-cpp.storage-files-datalake.dev
  • azure-sdk-for-cpp.storage-files-shares
  • azure-sdk-for-cpp.storage-files-shares.dev
  • azure-sdk-for-cpp.storage-queues
  • azure-sdk-for-cpp.storage-queues.dev
  • azure-sdk-for-cpp.umock-c

x86_64-darwin (sandbox = relaxed)

✅ 37 packages built:
  • azure-sdk-for-cpp.c-shared-utility
  • azure-sdk-for-cpp.core
  • azure-sdk-for-cpp.core-amqp
  • azure-sdk-for-cpp.core-amqp.dev
  • azure-sdk-for-cpp.core-tracing-opentelemetry
  • azure-sdk-for-cpp.core-tracing-opentelemetry.dev
  • azure-sdk-for-cpp.core.dev
  • azure-sdk-for-cpp.data-tables
  • azure-sdk-for-cpp.data-tables.dev
  • azure-sdk-for-cpp.identity
  • azure-sdk-for-cpp.identity.dev
  • azure-sdk-for-cpp.macro-utils-c
  • azure-sdk-for-cpp.messaging-eventhubs
  • azure-sdk-for-cpp.messaging-eventhubs-checkpointstore-blob
  • azure-sdk-for-cpp.messaging-eventhubs-checkpointstore-blob.dev
  • azure-sdk-for-cpp.messaging-eventhubs.dev
  • azure-sdk-for-cpp.security-attestation
  • azure-sdk-for-cpp.security-attestation.dev
  • azure-sdk-for-cpp.security-keyvault-administration
  • azure-sdk-for-cpp.security-keyvault-administration.dev
  • azure-sdk-for-cpp.security-keyvault-certificates
  • azure-sdk-for-cpp.security-keyvault-certificates.dev
  • azure-sdk-for-cpp.security-keyvault-keys
  • azure-sdk-for-cpp.security-keyvault-keys.dev
  • azure-sdk-for-cpp.security-keyvault-secrets
  • azure-sdk-for-cpp.security-keyvault-secrets.dev
  • azure-sdk-for-cpp.storage-blobs
  • azure-sdk-for-cpp.storage-blobs.dev
  • azure-sdk-for-cpp.storage-common
  • azure-sdk-for-cpp.storage-common.dev
  • azure-sdk-for-cpp.storage-files-datalake
  • azure-sdk-for-cpp.storage-files-datalake.dev
  • azure-sdk-for-cpp.storage-files-shares
  • azure-sdk-for-cpp.storage-files-shares.dev
  • azure-sdk-for-cpp.storage-queues
  • azure-sdk-for-cpp.storage-queues.dev
  • azure-sdk-for-cpp.umock-c

aarch64-darwin (sandbox = relaxed)

✅ 37 packages built:
  • azure-sdk-for-cpp.c-shared-utility
  • azure-sdk-for-cpp.core
  • azure-sdk-for-cpp.core-amqp
  • azure-sdk-for-cpp.core-amqp.dev
  • azure-sdk-for-cpp.core-tracing-opentelemetry
  • azure-sdk-for-cpp.core-tracing-opentelemetry.dev
  • azure-sdk-for-cpp.core.dev
  • azure-sdk-for-cpp.data-tables
  • azure-sdk-for-cpp.data-tables.dev
  • azure-sdk-for-cpp.identity
  • azure-sdk-for-cpp.identity.dev
  • azure-sdk-for-cpp.macro-utils-c
  • azure-sdk-for-cpp.messaging-eventhubs
  • azure-sdk-for-cpp.messaging-eventhubs-checkpointstore-blob
  • azure-sdk-for-cpp.messaging-eventhubs-checkpointstore-blob.dev
  • azure-sdk-for-cpp.messaging-eventhubs.dev
  • azure-sdk-for-cpp.security-attestation
  • azure-sdk-for-cpp.security-attestation.dev
  • azure-sdk-for-cpp.security-keyvault-administration
  • azure-sdk-for-cpp.security-keyvault-administration.dev
  • azure-sdk-for-cpp.security-keyvault-certificates
  • azure-sdk-for-cpp.security-keyvault-certificates.dev
  • azure-sdk-for-cpp.security-keyvault-keys
  • azure-sdk-for-cpp.security-keyvault-keys.dev
  • azure-sdk-for-cpp.security-keyvault-secrets
  • azure-sdk-for-cpp.security-keyvault-secrets.dev
  • azure-sdk-for-cpp.storage-blobs
  • azure-sdk-for-cpp.storage-blobs.dev
  • azure-sdk-for-cpp.storage-common
  • azure-sdk-for-cpp.storage-common.dev
  • azure-sdk-for-cpp.storage-files-datalake
  • azure-sdk-for-cpp.storage-files-datalake.dev
  • azure-sdk-for-cpp.storage-files-shares
  • azure-sdk-for-cpp.storage-files-shares.dev
  • azure-sdk-for-cpp.storage-queues
  • azure-sdk-for-cpp.storage-queues.dev
  • azure-sdk-for-cpp.umock-c

@ShamrockLee ShamrockLee dismissed their stale review December 8, 2025 13:54

The copyright file install output issues are addressed.

Copy link
Contributor

@ShamrockLee ShamrockLee left a comment

Choose a reason for hiding this comment

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

LGTM!

I think this one is good enough to merge. We can add enhancements like splicing and version checks in subsequent PRs.

Thank you for pushing it!

@ShamrockLee ShamrockLee added this pull request to the merge queue Dec 8, 2025
Merged via the queue into NixOS:master with commit 2871ea3 Dec 8, 2025
30 of 32 checks passed
@tobim tobim deleted the pkgs/azure-sdk-for-cpp branch December 9, 2025 22:38
@tobim
Copy link
Contributor Author

tobim commented Dec 9, 2025

Thanks for your help with getting it over the line.

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

Labels

8.has: package (new) This PR adds a new package 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 12.approvals: 2 This PR was reviewed and approved by two persons.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants