spack / spack

A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
https://spack.io
Other
4.4k stars 2.28k forks source link

patching a dependency does not work for version ranges #7645

Closed davydden closed 1 year ago

davydden commented 6 years ago

I was trying to extend existing code to patch a boost dependency of dealii to be:

    depends_on('boost@1.59.0:1.63,1.65.1:+thread+system+serialization+iostreams',
               patches=patch('boost_1.65.1_singleton.patch',
                       level=1,
                       when='@1.65.1:1.66.0'),
               when='~python')
    depends_on('boost@1.59.0:1.63,1.65.1:+thread+system+serialization+iostreams+python',
               patches=patch('boost_1.65.1_singleton.patch',
                       level=1,
                       when='@1.65.1:1.66.0'),
               when='+python')

Expected Result

I would expect the patch to be applied when boost is @1.65.1:1.66.0

Actual Result

From logs I see that nothing is patched:

==> Installing boost
==> Fetching https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2
######################################################################## 100.0%
==> Staging archive: /home/davydden/spack/var/spack/stage/boost-1.66.0-hchanlgjwapma5lbprfzhbxat62vyoyz/boost_1_66_0.tar.bz2
==> Created stage in /home/davydden/spack/var/spack/stage/boost-1.66.0-hchanlgjwapma5lbprfzhbxat62vyoyz
==> Building boost [Package]
==> Executing phase: 'install'
==> Successfully installed boost
  Fetch: 7.52s.  Build: 3m 38.13s.  Total: 3m 45.65s.
[+] /home/davydden/spack/opt/spack/linux-ubuntu17.10-x86_64/gcc-7.2.0/boost-1.66.0-hchanlgjwapma5lbprfzhbxat62vyoyz

even though spack spec shows that the package should be patched

    ^boost@1.66.0%gcc@7.2.0+atomic+chrono~clanglibcpp+date_time~debug+exception+filesystem~graph~icu+iostreams+locale+log+math~mpi+multithreaded patches=c397da25f317c5074ddef3f92d9e9cd3cb08d05385b80dcddb6d4c94600d7e9e +program_options+python+random+regex+serialization+shared+signals~singlethreaded+system~taggedlayout+test+thread+timer~versionedlayout+wave arch=linux-ubuntu17.10-x86_64 

Steps to reproduce the issue

the way to reproduce is to hack-in mentioned in the above depends_on to dealii.

alalazo commented 1 year ago

Fixed in v0.20.0