Skip to content

Update of all packages to new releases#7

Open
pfadler wants to merge 44 commits intohmenke:masterfrom
pfadler:master
Open

Update of all packages to new releases#7
pfadler wants to merge 44 commits intohmenke:masterfrom
pfadler:master

Conversation

@pfadler
Copy link

@pfadler pfadler commented Sep 29, 2025

Apart from the packages that have no proper new releases, all packages should now be available with the newest ones

@pfadler
Copy link
Author

pfadler commented Sep 29, 2025

@hmenke if you find the time to go through my changes, please pay special attention to cppdlr. I am still not quiet versed in nix, such that for this new package there may be some superfluous dependencies or other improper building of that package...

Comment on lines 36 to 42
propagatedBuildInputs = [
triqsPackages.cpp2py
triqsPackages.h5
triqsPackages.nda
triqsPackages.itertools
triqsPackages.mpi
];
Copy link
Owner

Choose a reason for hiding this comment

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

Does cppdlr really depend on all of these? As far as I can see it only depends on nda and h5.

Suggested change
propagatedBuildInputs = [
triqsPackages.cpp2py
triqsPackages.h5
triqsPackages.nda
triqsPackages.itertools
triqsPackages.mpi
];
propagatedBuildInputs = [
triqsPackages.h5
triqsPackages.nda
];

Copy link
Author

Choose a reason for hiding this comment

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

I think i wrongly interpreted the error message of a failing build of cppdlr complaining about some missing dependencies. That might however be due to these being dependencies of the dependencies that are not properly propagated. I will have a look into that

Copy link
Author

Choose a reason for hiding this comment

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

the installation of cppdlr automatically installs nda and therefore expects its dependencies (itertools, cpp2py and mpi) to be available. I have moved them from buildInputs to propagatedBuildInputs in the nda package or are they rather suited for propagatedNativeBuildInputs?

enableParallelBuilding = false;

buildInputs = [ gfortran openblasCompat fftw nfft ];
buildInputs = [ gfortran openblasCompat fftw fftwFloat nfft ];
Copy link
Owner

Choose a reason for hiding this comment

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

It is either fftw or fftwFloat, never both.

Copy link
Author

Choose a reason for hiding this comment

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

are you sure about that?
Without the additional dependency i had the build fail and, if i dont misunderstand FindFFTW.cmake of w2dynamics, it fails unless both fftw and fftwf are available

Copy link
Owner

Choose a reason for hiding this comment

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

The variable FFTWF_LIB is not marked as required in the w2dynamics CMake, so it should also work with only FFTW_LIB.

Copy link
Author

Choose a reason for hiding this comment

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

It is not required but if i am not mistaken line 107 of FindFFTW.cmake
set(FFTW_LIBRARIES ${FFTW_LIB} ${FFTWF_LIB})
causes the the find_package_handle_standard_args in line 116 to fail if the FFTWF_LIB variable is not set.
Omitting FFTWF_LIB from said line builds fine and passes all tests. Is this maybe an upstream bug?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants