Skip to content

abseil-cpp: remove cxx standard flag#143967

Merged
SuperSandro2000 merged 6 commits intoNixOS:masterfrom
cpcloud:remove-abseil-cxx-standard-flag
Nov 1, 2021
Merged

abseil-cpp: remove cxx standard flag#143967
SuperSandro2000 merged 6 commits intoNixOS:masterfrom
cpcloud:remove-abseil-cxx-standard-flag

Conversation

@cpcloud
Copy link
Copy Markdown
Contributor

@cpcloud cpcloud commented Oct 31, 2021

Motivation for this change

This PR removes -DCMAKE_CXX_STANDARD=17 from abseil-cpp while preserving the ability
to set it with .override.

Adding this flag to abseil-cpp forces all dependents to also set this flag to 17,
which isn't always possible.

or-tools seems to be the only package that requires -DCMAKE_CXX_STANDARD=17, because
it builds using -std=c++17.

I've got a package upgrade PR
that will not build with -DCMAKE_CXX_STANDARD=17, and one more in progress that depends on #143693
(both also depend on gRPC as well).

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all packages 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 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.

@ofborg ofborg bot requested review from LnL7, andersk and marsam October 31, 2021 10:26
@ofborg ofborg bot added 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. labels Oct 31, 2021
@cpcloud cpcloud mentioned this pull request Oct 31, 2021
12 tasks
@cpcloud cpcloud changed the title abseil-cpp: remove cpp standard flag abseil-cpp: remove cxx standard flag Oct 31, 2021
@risicle
Copy link
Copy Markdown
Contributor

risicle commented Oct 31, 2021

grpc builds successfully, macos 10.15.

@cpcloud cpcloud force-pushed the remove-abseil-cxx-standard-flag branch from 3ad0a2c to d73c625 Compare October 31, 2021 21:12
@veprbl
Copy link
Copy Markdown
Member

veprbl commented Oct 31, 2021

This could use some commit squashing

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Oct 31, 2021

@veprbl Yup, I was waiting for approval.

@cpcloud cpcloud force-pushed the remove-abseil-cxx-standard-flag branch from d73c625 to f506ecd Compare November 1, 2021 15:50
@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Nov 1, 2021

@SuperSandro2000 @veprbl Squashed a couple commits. This is ready for another round of review.

Copy link
Copy Markdown
Member

@veprbl veprbl left a comment

Choose a reason for hiding this comment

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

Adding a whole new option is a bit of an overkill – an overrideAttrs would be enough, IMO, but this is a very reasonable change, nevertheless.

@veprbl
Copy link
Copy Markdown
Member

veprbl commented Nov 1, 2021

Result of nixpkgs-review pr 143967 run on x86_64-darwin 1

23 packages marked as broken and skipped:
  • ledger2beancount
  • python38Packages.arviz
  • python38Packages.einops
  • python38Packages.graph_nets
  • python38Packages.mask-rcnn
  • python38Packages.oauthenticator
  • python38Packages.optuna
  • python38Packages.pymc3
  • python38Packages.rl-coach
  • python38Packages.spacy-transformers
  • python38Packages.tensorflow-probability
  • python39Packages.arviz
  • python39Packages.einops
  • python39Packages.graph_nets
  • python39Packages.mask-rcnn
  • python39Packages.oauthenticator
  • python39Packages.optuna
  • python39Packages.pymc3
  • python39Packages.rl-coach
  • python39Packages.spacy-transformers
  • python39Packages.tensorflow-probability
  • sysdig
  • tts
52 packages failed to build:
  • beancount (python39Packages.beancount)
  • duplicity
  • duply
  • dvc-with-remotes
  • fava
  • libtensorflow
  • lieer
  • python38Packages.baselines
  • python38Packages.beancount
  • python38Packages.beancount_docverif
  • python38Packages.cirq
  • python38Packages.cirq-google
  • python38Packages.edward
  • python38Packages.gcsfs
  • python38Packages.gensim
  • python38Packages.google-cloud-automl
  • python38Packages.google-cloud-bigquery
  • python38Packages.google-cloud-error-reporting
  • python38Packages.google-cloud-logging
  • python38Packages.google-cloud-monitoring
  • python38Packages.google-cloud-storage
  • python38Packages.pathy
  • python38Packages.scikit-tda
  • python38Packages.smart-open
  • python38Packages.spacy
  • python38Packages.tensorflow (python38Packages.tensorflow-build ,python38Packages.tensorflow-build_2 ,python38Packages.tensorflowWithoutCuda ,python38Packages.tensorflow_2)
  • python38Packages.textacy
  • python38Packages.tflearn
  • python38Packages.umap-learn
  • python39Packages.baselines
  • python39Packages.beancount_docverif
  • python39Packages.cirq
  • python39Packages.cirq-google
  • python39Packages.edward
  • python39Packages.gcsfs
  • python39Packages.gensim
  • python39Packages.google-cloud-automl
  • python39Packages.google-cloud-bigquery
  • python39Packages.google-cloud-error-reporting
  • python39Packages.google-cloud-logging
  • python39Packages.google-cloud-monitoring
  • python39Packages.google-cloud-storage
  • python39Packages.pathy
  • python39Packages.scikit-tda
  • python39Packages.smart-open
  • python39Packages.spacy
  • python39Packages.tensorflow (python39Packages.tensorflow-build ,python39Packages.tensorflow-build_2 ,python39Packages.tensorflowWithoutCuda ,python39Packages.tensorflow_2)
  • python39Packages.textacy
  • python39Packages.tflearn
  • python39Packages.umap-learn
  • qv2ray
  • snakemake
105 packages built:
  • abseil-cpp
  • bear
  • charge-lnd
  • gcalcli
  • git-annex-remote-googledrive
  • grpc
  • lndmanage
  • python38Packages.certbot-dns-google
  • python38Packages.chirpstack-api
  • python38Packages.drivelib
  • python38Packages.goobook
  • python38Packages.google-api-core
  • python38Packages.google-api-python-client
  • python38Packages.google-cloud-access-context-manager
  • python38Packages.google-cloud-appengine-logging
  • python38Packages.google-cloud-asset
  • python38Packages.google-cloud-audit-log
  • python38Packages.google-cloud-bigquery-datatransfer
  • python38Packages.google-cloud-bigquery-logging
  • python38Packages.google-cloud-bigtable
  • python38Packages.google-cloud-container
  • python38Packages.google-cloud-core
  • python38Packages.google-cloud-datacatalog
  • python38Packages.google-cloud-dataproc
  • python38Packages.google-cloud-datastore
  • python38Packages.google-cloud-dlp
  • python38Packages.google-cloud-dns
  • python38Packages.google-cloud-firestore
  • python38Packages.google-cloud-iam
  • python38Packages.google-cloud-iam-logging
  • python38Packages.google-cloud-iot
  • python38Packages.google-cloud-kms
  • python38Packages.google-cloud-language
  • python38Packages.google-cloud-org-policy
  • python38Packages.google-cloud-os-config
  • python38Packages.google-cloud-pubsub
  • python38Packages.google-cloud-redis
  • python38Packages.google-cloud-resource-manager
  • python38Packages.google-cloud-runtimeconfig
  • python38Packages.google-cloud-secret-manager
  • python38Packages.google-cloud-securitycenter
  • python38Packages.google-cloud-spanner
  • python38Packages.google-cloud-speech
  • python38Packages.google-cloud-tasks
  • python38Packages.google-cloud-texttospeech
  • python38Packages.google-cloud-trace
  • python38Packages.google-cloud-translate
  • python38Packages.google-cloud-videointelligence
  • python38Packages.google-cloud-vision
  • python38Packages.google-cloud-websecurityscanner
  • python38Packages.googleapis-common-protos
  • python38Packages.grpc-google-iam-v1
  • python38Packages.proto-plus
  • python38Packages.pydrive
  • python38Packages.weboob
  • python38Packages.woob
  • python39Packages.certbot-dns-google
  • python39Packages.chirpstack-api
  • python39Packages.drivelib
  • python39Packages.goobook
  • python39Packages.google-api-core
  • python39Packages.google-api-python-client
  • python39Packages.google-cloud-access-context-manager
  • python39Packages.google-cloud-appengine-logging
  • python39Packages.google-cloud-asset
  • python39Packages.google-cloud-audit-log
  • python39Packages.google-cloud-bigquery-datatransfer
  • python39Packages.google-cloud-bigquery-logging
  • python39Packages.google-cloud-bigtable
  • python39Packages.google-cloud-container
  • python39Packages.google-cloud-core
  • python39Packages.google-cloud-datacatalog
  • python39Packages.google-cloud-dataproc
  • python39Packages.google-cloud-datastore
  • python39Packages.google-cloud-dlp
  • python39Packages.google-cloud-dns
  • python39Packages.google-cloud-firestore
  • python39Packages.google-cloud-iam
  • python39Packages.google-cloud-iam-logging
  • python39Packages.google-cloud-iot
  • python39Packages.google-cloud-kms
  • python39Packages.google-cloud-language
  • python39Packages.google-cloud-org-policy
  • python39Packages.google-cloud-os-config
  • python39Packages.google-cloud-pubsub
  • python39Packages.google-cloud-redis
  • python39Packages.google-cloud-resource-manager
  • python39Packages.google-cloud-runtimeconfig
  • python39Packages.google-cloud-secret-manager
  • python39Packages.google-cloud-securitycenter
  • python39Packages.google-cloud-spanner
  • python39Packages.google-cloud-speech
  • python39Packages.google-cloud-tasks
  • python39Packages.google-cloud-texttospeech
  • python39Packages.google-cloud-trace
  • python39Packages.google-cloud-translate
  • python39Packages.google-cloud-videointelligence
  • python39Packages.google-cloud-vision
  • python39Packages.google-cloud-websecurityscanner
  • python39Packages.googleapis-common-protos
  • python39Packages.grpc-google-iam-v1
  • python39Packages.proto-plus
  • python39Packages.pydrive
  • python39Packages.weboob
  • python39Packages.woob

@SuperSandro2000
Copy link
Copy Markdown
Member

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).

Result of nixpkgs-review pr 143967 run on x86_64-linux 1

18 packages marked as broken and skipped:
  • linuxKernel.packages.hardkernel_4_14.sysdig
  • linuxKernel.packages.linux_4_4.sysdig
  • linuxKernel.packages.linux_4_9.sysdig
  • linuxKernel.packages.linux_testing_bcachefs.sysdig
  • linuxPackages_hardkernel_latest.sysdig
  • linuxPackages_testing_bcachefs.sysdig
  • python38Packages.arviz
  • python38Packages.dm-sonnet
  • python38Packages.graph_nets
  • python38Packages.optuna
  • python38Packages.pymc3
  • python38Packages.rl-coach
  • python39Packages.arviz
  • python39Packages.dm-sonnet
  • python39Packages.graph_nets
  • python39Packages.optuna
  • python39Packages.pymc3
  • python39Packages.rl-coach
9 packages failed to build and already failed to build on hydra master:
  • linuxPackages_hardened.sysdig: log was empty
  • linuxPackages_latest-libre.sysdig: log was empty
  • python38Packages.einops: log was empty
  • python38Packages.google-cloud-error-reporting: log was empty
  • python38Packages.google-cloud-logging: log was empty
  • python39Packages.einops: log was empty
  • python39Packages.google-cloud-error-reporting: log was empty
  • python39Packages.google-cloud-logging: log was empty
  • rippled-validator-keys-tool: log was empty
4 packages failed to build and are new build failures:
  • fcitx5-mozc: log was empty
  • (linuxPackages_5_10_hardened.sysdig): log was empty
  • (linuxKernel.packages.linux_latest_libre.sysdig): log was empty
  • tdesktop: log was empty
169 packages built:
  • abseil-cpp
  • beancount (python39Packages.beancount)
  • bear
  • charge-lnd
  • deja-dup
  • duplicity
  • duply
  • dvc-with-remotes
  • fava
  • gcalcli
  • git-annex-remote-googledrive
  • google-cloud-cpp
  • grpc
  • home-assistant
  • kmymoney
  • ledger2beancount
  • lieer
  • linuxKernel.packages.linux_4_14.sysdig
  • linuxPackages_4_14_hardened.sysdig (linuxKernel.packages.linux_4_14_hardened.sysdig)
  • linuxKernel.packages.linux_4_19.sysdig
  • linuxPackages_4_19_hardened.sysdig (linuxKernel.packages.linux_4_19_hardened.sysdig)
  • linuxPackages.sysdig (linuxKernel.packages.linux_5_10.sysdig)
  • linuxKernel.packages.linux_5_14.sysdig
  • linuxPackages_5_14_hardened.sysdig (linuxKernel.packages.linux_5_14_hardened.sysdig)
  • linuxPackages_latest.sysdig (linuxKernel.packages.linux_5_15.sysdig)
  • linuxKernel.packages.linux_5_4.sysdig
  • linuxPackages_5_4_hardened.sysdig (linuxKernel.packages.linux_5_4_hardened.sysdig)
  • linuxPackages-libre.sysdig (linuxKernel.packages.linux_libre.sysdig)
  • linuxPackages_lqx.sysdig (linuxKernel.packages.linux_lqx.sysdig)
  • linuxPackages_xanmod.sysdig (linuxKernel.packages.linux_xanmod.sysdig)
  • linuxPackages_zen.sysdig (linuxKernel.packages.linux_zen.sysdig)
  • lndmanage
  • murmur
  • or-tools
  • python38Packages.beancount
  • python38Packages.beancount_docverif
  • python38Packages.certbot-dns-google
  • python38Packages.chirpstack-api
  • python38Packages.cirq
  • python38Packages.cirq-google
  • python38Packages.drivelib
  • python38Packages.gcsfs
  • python38Packages.gensim
  • python38Packages.goobook
  • python38Packages.google-api-core
  • python38Packages.google-api-python-client
  • python38Packages.google-cloud-access-context-manager
  • python38Packages.google-cloud-appengine-logging
  • python38Packages.google-cloud-asset
  • python38Packages.google-cloud-audit-log
  • python38Packages.google-cloud-automl
  • python38Packages.google-cloud-bigquery
  • python38Packages.google-cloud-bigquery-datatransfer
  • python38Packages.google-cloud-bigquery-logging
  • python38Packages.google-cloud-bigtable
  • python38Packages.google-cloud-container
  • python38Packages.google-cloud-core
  • python38Packages.google-cloud-datacatalog
  • python38Packages.google-cloud-dataproc
  • python38Packages.google-cloud-datastore
  • python38Packages.google-cloud-dlp
  • python38Packages.google-cloud-dns
  • python38Packages.google-cloud-firestore
  • python38Packages.google-cloud-iam
  • python38Packages.google-cloud-iam-logging
  • python38Packages.google-cloud-iot
  • python38Packages.google-cloud-kms
  • python38Packages.google-cloud-language
  • python38Packages.google-cloud-monitoring
  • python38Packages.google-cloud-org-policy
  • python38Packages.google-cloud-os-config
  • python38Packages.google-cloud-pubsub
  • python38Packages.google-cloud-redis
  • python38Packages.google-cloud-resource-manager
  • python38Packages.google-cloud-runtimeconfig
  • python38Packages.google-cloud-secret-manager
  • python38Packages.google-cloud-securitycenter
  • python38Packages.google-cloud-spanner
  • python38Packages.google-cloud-speech
  • python38Packages.google-cloud-storage
  • python38Packages.google-cloud-tasks
  • python38Packages.google-cloud-texttospeech
  • python38Packages.google-cloud-trace
  • python38Packages.google-cloud-translate
  • python38Packages.google-cloud-videointelligence
  • python38Packages.google-cloud-vision
  • python38Packages.google-cloud-websecurityscanner
  • python38Packages.googleapis-common-protos
  • python38Packages.grpc-google-iam-v1
  • python38Packages.oauthenticator
  • python38Packages.ortools
  • python38Packages.pathy
  • python38Packages.proto-plus
  • python38Packages.pydrive
  • python38Packages.smart-open
  • python38Packages.spacy
  • python38Packages.spacy-transformers
  • python38Packages.textacy
  • python38Packages.weboob
  • python38Packages.woob
  • python39Packages.beancount_docverif
  • python39Packages.certbot-dns-google
  • python39Packages.chirpstack-api
  • python39Packages.cirq
  • python39Packages.cirq-google
  • python39Packages.drivelib
  • python39Packages.gcsfs
  • python39Packages.gensim
  • python39Packages.goobook
  • python39Packages.google-api-core
  • python39Packages.google-api-python-client
  • python39Packages.google-cloud-access-context-manager
  • python39Packages.google-cloud-appengine-logging
  • python39Packages.google-cloud-asset
  • python39Packages.google-cloud-audit-log
  • python39Packages.google-cloud-automl
  • python39Packages.google-cloud-bigquery
  • python39Packages.google-cloud-bigquery-datatransfer
  • python39Packages.google-cloud-bigquery-logging
  • python39Packages.google-cloud-bigtable
  • python39Packages.google-cloud-container
  • python39Packages.google-cloud-core
  • python39Packages.google-cloud-datacatalog
  • python39Packages.google-cloud-dataproc
  • python39Packages.google-cloud-datastore
  • python39Packages.google-cloud-dlp
  • python39Packages.google-cloud-dns
  • python39Packages.google-cloud-firestore
  • python39Packages.google-cloud-iam
  • python39Packages.google-cloud-iam-logging
  • python39Packages.google-cloud-iot
  • python39Packages.google-cloud-kms
  • python39Packages.google-cloud-language
  • python39Packages.google-cloud-monitoring
  • python39Packages.google-cloud-org-policy
  • python39Packages.google-cloud-os-config
  • python39Packages.google-cloud-pubsub
  • python39Packages.google-cloud-redis
  • python39Packages.google-cloud-resource-manager
  • python39Packages.google-cloud-runtimeconfig
  • python39Packages.google-cloud-secret-manager
  • python39Packages.google-cloud-securitycenter
  • python39Packages.google-cloud-spanner
  • python39Packages.google-cloud-speech
  • python39Packages.google-cloud-storage
  • python39Packages.google-cloud-tasks
  • python39Packages.google-cloud-texttospeech
  • python39Packages.google-cloud-trace
  • python39Packages.google-cloud-translate
  • python39Packages.google-cloud-videointelligence
  • python39Packages.google-cloud-vision
  • python39Packages.google-cloud-websecurityscanner
  • python39Packages.googleapis-common-protos
  • python39Packages.grpc-google-iam-v1
  • python39Packages.oauthenticator
  • python39Packages.ortools
  • python39Packages.pathy
  • python39Packages.proto-plus
  • python39Packages.pydrive
  • python39Packages.smart-open
  • python39Packages.spacy
  • python39Packages.spacy-transformers
  • python39Packages.textacy
  • python39Packages.weboob
  • python39Packages.woob
  • qv2ray
  • rippled
  • snakemake
  • sysdig

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Nov 1, 2021

@veprbl @SuperSandro2000 I'm not totally following what's breaking here. It looks like a few google-cloud packages are breaking, but they all seem to be broken on master too.

How can I tell what's newly breaking in this PR vs master?

@SuperSandro2000
Copy link
Copy Markdown
Member

SuperSandro2000 commented Nov 1, 2021

I am already taking care of this.

My comment has more information. Most build failures are on darwin which is not a blocking problem.

I am fixing telegram and fcitx5-mozc and all the google package which I am the maintainer for in another PR.

@SuperSandro2000
Copy link
Copy Markdown
Member

So, this can be merged when ofborg is done.

@ofborg ofborg bot requested review from oxalica and primeos November 1, 2021 21:03
@ofborg ofborg bot requested a review from VergeDX November 1, 2021 21:03
@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Nov 1, 2021

@SuperSandro2000 Thanks for fixing! Much appreciated.

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Nov 1, 2021

@SuperSandro2000 I guess this is done? I'm assuming the darwin builds are hanging due to this #137678?

@SuperSandro2000
Copy link
Copy Markdown
Member

I don't know why more Darwin packages fail to be build exactly but there seems to be a lot of unrelated issues there which we are not going to investigate all in this pr.

@SuperSandro2000 SuperSandro2000 merged commit 3c691c3 into NixOS:master Nov 1, 2021
@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Nov 1, 2021

@SuperSandro2000 Thank you.

@cpcloud cpcloud deleted the remove-abseil-cxx-standard-flag branch November 1, 2021 22:03
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: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants