Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cimg: add v3.3.5, expose all available options, fix issues with fftw and opencv, avoid overlinking #22290

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Jan 13, 2024

Should also hopefully fix the build error in #22257 caused by the default value for cimg_display being incorrect on Macos.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@AbrilRBS AbrilRBS self-assigned this Jan 16, 2024
Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

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

Thhanks!

Comment on lines +13 to +30
self.options["cimg"].enable_curl = True
self.options["cimg"].enable_ffmpeg = True
self.options["cimg"].enable_fftw = True
self.options["cimg"].enable_heif = True
self.options["cimg"].enable_jpeg = "libjpeg"
self.options["cimg"].enable_magick = False # Not yet Conan 2.0 compatible
self.options["cimg"].enable_opencv = False # OpenCV v3 Requires OpenEXR v2
self.options["cimg"].enable_openexr = True
self.options["cimg"].enable_openmp = True
self.options["cimg"].enable_png = True
self.options["cimg"].enable_tiff = True
self.options["cimg"].enable_tinyexr = False # Conflicts with OpenEXR and ZLib
self.options["cimg"].enable_zlib = True
if self.settings.os in ["Linux", "FreeBSD", "Windows"]:
self.options["cimg"].enable_display = True
if self.settings.os in ["Linux", "FreeBSD"]:
self.options["cimg"].enable_xrandr = True
self.options["cimg"].enable_xshm = True
Copy link
Member

Choose a reason for hiding this comment

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

Why is this needed? Usually test packages should be much simpler than this

Copy link
Contributor Author

@valgur valgur Mar 5, 2024

Choose a reason for hiding this comment

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

You usually can't do more extensive testing in test_package due to the corresponding binary not being built for non-default options. This limitation does not exist for header-only packages, though. It has been very useful in validating the full configuration, but I can comment out this part now that the build is passing. What do you think?

@conan-center-bot

This comment has been minimized.

@valgur valgur changed the title cimg: add v3.3.3, expose all available options, fix issues with fftw and opencv, avoid overlinking cimg: add v3.3.5, expose all available options, fix issues with fftw and opencv, avoid overlinking Mar 25, 2024
@ghost ghost mentioned this pull request May 8, 2024
3 tasks
AbrilRBS
AbrilRBS previously approved these changes Jun 28, 2024
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 4 (fac9adc6221188f18443ef3990171f995ec33176):

  • cimg/3.3.5:
    CI failed to create some packages (All logs)

    Logs for packageID 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=5
    os=Linux
    
    [...]
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                          qa@                                      
      ________                            %LF                                  __  
      JLLLLLLL                            %LF                                  JJ  
      JL      L;                          %LF                                  JJ  
      JJ      JL      ______       _____  %LF    _       ______                JJ  
      JJ      JL      JLLLLL@     JLLLLL@ %LF   mLF     mLLLLLJ                JJ  
      JJ      JL    q.W     L._ |.W       %LF _.@     _.@     W.p              JJ  
      JL_     ^^    JL      JL@ JL@       %Lq y^`     @^'      ^`              JJ  
      JLLLLLLL      JL      JL@ JL@       %LLLF         mLLLJ                  JJ  
      JL````"L      JL      JL@ JL@       %L``l,_        ````,y                JJ  
      JJ    ^^      JL      JL@ JL@       %LF @^W            ^'                ^^  
      JJ      JL    JL      JL@ JL@       %LF   mLF   mLK      LJ                  
      JJ      ``|,  ``|,,,,,W`   `q,,,,,_ %LF    `%,_  `W,,,,,y``              ,g  
      J^        J^    J^^^^^@     J^^^^^@ %^F     m^T   m^^^^^T                ^^  
                                                                                   
                                                                                   
                                                                                   
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_EXPORT_NO_PACKAGE_REGISTRY
        CMAKE_INSTALL_BINDIR
        CMAKE_INSTALL_DATAROOTDIR
        CMAKE_INSTALL_INCLUDEDIR
        CMAKE_INSTALL_LIBDIR
        CMAKE_INSTALL_LIBEXECDIR
        CMAKE_INSTALL_OLDINCLUDEDIR
        CMAKE_INSTALL_SBINDIR
    
    
    WARN: *** Conan 1 is legacy and on a deprecation path ***
    WARN: *** Please upgrade to Conan 2 ***
    cimg/3.3.5 (test package): WARN: 
         ************************************************
         The 'cmake_find_package_multi' generator is deprecated.
         Please update your code and remove it.
         *************************************************
    
    cimg/3.3.5 (test package): WARN: 
         ************************************************
         The 'cmake' generator is deprecated.
         Please update your code and remove it.
         *************************************************
    
    cimg/3.3.5 (test package): WARN: **** The 'from conans import CMake' helper is deprecated. Please update your code and remove it. ****
    
  • cimg/3.3.2:
    Didn't run or was cancelled before finishing

  • cimg/3.3.0:
    Didn't run or was cancelled before finishing

  • cimg/2.9.9:
    Didn't run or was cancelled before finishing

  • cimg/3.2.6:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 4 (fac9adc6221188f18443ef3990171f995ec33176):

  • cimg/3.3.5:
    CI failed to create some packages (All logs)

    Logs for packageID da39a3ee5e6b4b0d3255bfef95601890afd80709:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=msvc
    compiler.cppstd=14
    compiler.runtime=dynamic
    compiler.runtime_type=Release
    compiler.version=192
    os=Windows
    
    [...]
        cmake/[>=3.20 <4]: cmake/3.30.0
        libcurl/[>=7.78.0 <9]: libcurl/8.8.0
        libpng/[>=1.6 <2]: libpng/1.6.43
        openssl/[>=1.1 <4]: openssl/3.2.2
        zlib/[>=1.2.11 <2]: zlib/1.3.1
    
    ======== Computing necessary packages ========
    Requirements
        brotli/1.1.0#d56d7bb9ca722942aba17369cb5c0519:ec8b0cadaef08ac51b3d13ed30e9881dd0c495ad#47e998ee2fe1db68ba625b1e7bd1f495 - Download (conan-center)
        bzip2/1.0.8#457c272f7da34cb9c67456dd217d36c4:7fd8d46eaa8d8c5b8af6db2d900fdd898c3bf460#78b6eb1b4f8cd72a62fb7e924bd01015 - Download (conan-center)
        cimg/3.3.5#3fa3b884e87b690ce2ffb93efed0a52c:da39a3ee5e6b4b0d3255bfef95601890afd80709#f2b6379b1a4664f79cea1656a98b2a9c - Download (c3i_PR-v2-22290)
        cpuinfo/cci.20231129#15e94782b128bee8bfd047f6102a4d21:9dfff57c46d0cf873f11ceb07d0e36ea3e63fb03#d6d9bfe7ddc0d4611bef82708f3c13a2 - Download (conan-center)
        dav1d/1.2.1#0f008644f860d429003a09a96edee335:bfe64efb343de717b80529c17cde303b98dcd697#4a8f3a79a7ad75d1de3f6856195259c2 - Download (conan-center)
        ffmpeg/6.1#86301ee90b1c2076eb77a4d4737629cd:c307f89fc5725904e718cb721aa14ab022dddd8d#f1312f141bce6f5ee78ec4422b605ffc - Download (conan-center)
        fftw/3.3.10#ae4a2efdec8d27e398260587d0ff2457:8b121de01cf3087d5450dd858cc3fe49db836731#a8942d852199463af0fc73748b394e80 - Download (conan-center)
        freetype/2.13.2#7934d59c447d72edcd56025dc60e1aeb:4c08d00ad16e4a7781bb3f20abdac612533e19ce#cd74ba2384660dd4300996453b219620 - Download (conan-center)
        imath/3.1.9#2e7f5802b247baae47235b4c8d5642c9:2401fa1d188d289bb25c37cfa3317e13e377a351#c736ff17eec7e045a5b3c8348b5b24b8 - Download (conan-center)
        jbig/20160605#2d29fa02aacd76902e0d2cbbc24631ef:cce0638b24486ce38229e298351f25f1373c8986#c59ae8080a31a1f424f56d4075c5fae3 - Download (conan-center)
        libaom-av1/3.6.1#a569b342c6f8129cf327709e18691072:73dad2e0c0bb9d50029ac52669205aefb85e65bb#89526b86340db9f26c3b5d1800caf7fd - Download (conan-center)
        libcurl/8.8.0#9170903d66d6f6e6795fbb566a403129:95478c30021e6673df76170fe495aa44f7a07610#17a32fe1e54f48b3ef56dbb83b31d022 - Download (conan-center)
        libde265/1.0.12#6e7cec8c7e3b1c9bfb6761dfc4d1dbb8:823e8b0a0381d58fd030a55c94d19880e1321598#75d41df841969f9c2fb99edcd246cf3f - Download (conan-center)
        libdeflate/1.19#3ea74a4549efc14d4b1202dc4bfbf602:41ad450120fdab2266b1185a967d298f7ae52595#e4fc54094ae3763ba6bb9126b2e2d48c - Download (conan-center)
        libfdk_aac/2.0.3#a4041d75d31de57214adeb9c6f9cae26:2401fa1d188d289bb25c37cfa3317e13e377a351#4e15df8d4a7f742ae379a8d4df11520e - Download (conan-center)
        libheif/1.16.2#19de03ba5898e1b751593d1eff6c0174:1ee29b8cfbda6d3ceeb8a01ab475126e255a4dcc#8f19eaee020ecf5d1d429b7588123053 - Download (conan-center)
        libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd:41ad450120fdab2266b1185a967d298f7ae52595#9f42976335624a3889610e8f86aa6abe - Download (conan-center)
        libjpeg/9e#3cd27a78643419450ee6d3739514d25c:41ad450120fdab2266b1185a967d298f7ae52595#3934399af8446e1d5776d93ba9381341 - Download (conan-center)
        libmp3lame/3.100#44b12d19316eb2b223d98d3e75dae438:41ad450120fdab2266b1185a967d298f7ae52595#aa89ec8f0b34d418a1ab532f2a3d760a - Download (conan-center)
        libpng/1.6.43#c219d8f01983bac10c404fc613605eef:630af2206d3dc98a0941464e9df2fd5a6cfe957d#ddfa76f95cb09a61ce6665e56a0a6f3c - Download (conan-center)
        libsvtav1/1.6.0#ff2413e3f8e7c0e6c2ed1c1d4d6483de:9e50b16820d758068ecbd14a9dce2c236f77e730#1cbb84f422cb042f3daba7bf3ca58015 - Download (conan-center)
        libtiff/4.6.0#51d0e7e15d032aeec1b64e65c44ecd9f:c907fb45804cc30203ade2396500ed83db2ad5e7#457bf09c6a25e5c75e02ce2e8a2a9fd3 - Download (conan-center)
        libvpx/1.13.1#93fbabced961140ed99c564a9b942d12:3e9498f263142f3d1178b718a8d09558039096ce#536a560cd599c763d9893d0ea7242344 - Download (conan-center)
        libwebp/1.3.2#52f69c4a31c5cf033fdd9230d77a8e38:108623af8e2ffcc15db6c3d7d44e673780f612c7#763ae7dc32510536a426a419042d4735 - Download (conan-center)
        libx264/cci.20220602#310132b8f365d0d74028128d3677f132:b8ee3068386f445aa79054d502c2fbdaf2bbdbf4#f1f7174556c27c7877bd0cae8d9afb63 - Download (conan-center)
        libx265/3.4#60fd8f9d5a93fd2338a46a0664ddc768:e3ceba1cb2a4446cd1cbd73382884fbe74eb3e12#aa6810a15d512e6fb93910fa217665e3 - Download (conan-center)
        llvm-openmp/18.1.8#5e371038846bf9a660dc7746beb21e04:4f267380690f99b3ef385199826c268f63147457 - Invalid
        ogg/1.3.5#062626875f5c8c59f069f76f148098ef:41ad450120fdab2266b1185a967d298f7ae52595#632a66a3605c8c746f9a7e5cbbfd8eb3 - Download (conan-center)
        openexr/3.2.3#cc76d7ca85ee7dfe03114eaa2a8e8c1b:a298ce0a5e7ae132354ac4d7b63e801e2d108f5b#6ff0b110ca385bb56cd48427772aaa5b - Download (conan-center)
        openh264/2.3.1#8b94a94f5472b67355953c7748ad4381:2401fa1d188d289bb25c37cfa3317e13e377a351#cffdde33e639d9c3e8ecb126af5817fc - Download (conan-center)
        openjpeg/2.5.0#2886244f2492121aa7c6c493a814db06:41ad450120fdab2266b1185a967d298f7ae52595#0672f2022dbbb462e730947e1806ad1d - Download (conan-center)
        openssl/3.2.2#899583c694f9deccec74dbe0bbc65a15:63f1dea0b7251b96ae11d5714a52751997e79429#39a38b2895828bdeb34047afcbf5a274 - Download (conan-center)
        opus/1.4#54631f551fc450783fb2df8cd63f80a2:e0bd1353d03990c15a2379247cecb466824c836e#9bf7e1f8968cae450233a0519c12b76c - Download (conan-center)
        vorbis/1.3.7#37e58f52e59a6232199b34ef402714a6:392954eda39b078ac2ecd070d42d5727f806c610#548186ce889ec6a3602c1b5b46f5e13c - Download (conan-center)
        xz_utils/5.4.5#51e5a6e6564f4ea3afd79def01f035ad:41ad450120fdab2266b1185a967d298f7ae52595#71f19af98cacc9e81e2bb26ded1b3ac2 - Download (conan-center)
        zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:41ad450120fdab2266b1185a967d298f7ae52595#6513303f73b00a3c69312b4bf7cdcd9e - Download (conan-center)
        zstd/1.5.5#1f239731dc45147c7fc2f54bfbde73df:408759a32909d782e056141a421b0c3d9e38a6b8#bbea705f2f75ce3ba58e5a10a4f1ea75 - Download (conan-center)
    Build requirements
    Skipped binaries
        autoconf/2.71, automake/1.16.5, cmake/3.30.0, m4/1.4.19, meson/1.2.2, meson/1.3.2, meson/1.4.0, msys2/cci.latest, nasm/2.15.05, nasm/2.16.01, ninja/1.11.1, pkgconf/2.1.0, strawberryperl/5.30.0.1, strawberryperl/5.32.1.1, yasm/1.3.0
    ERROR: There are invalid packages:
    llvm-openmp/18.1.8: Invalid: Current cppstd (14) is lower than the required C++ standard (17).
    
  • cimg/3.3.0:
    Didn't run or was cancelled before finishing

  • cimg/3.3.2:
    Didn't run or was cancelled before finishing

  • cimg/3.2.6:
    Didn't run or was cancelled before finishing

  • cimg/2.9.9:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@jcar87
Copy link
Contributor

jcar87 commented Aug 8, 2024

For future reference - and this is something that we need to update in the guidance for all of Conan Center - exposing all options a library might have is not a goal in Conan Center - rather, we'd like to expose the most likely to be used, and most likely to be useful.

On the other hand, I appreciate this particular recipe has a history of doing this already - but Conan options where designed for things that affect (in most cases) the package contents, and none of these options do - so this causes a situation where not only does it deviate from Conan guidelines, it also deviates from the usage patterns of this very same library when consumed from other repositories. I can see that the equivalent recipe for this library in other repositories don't expose any options and also don't register any dependencies. From a maintainability point of view - it is quite telling that a header only library that has no more than ~30 lines of recipe in other repos, has 10 times as much in Conan Center :(

@valgur valgur mentioned this pull request Sep 13, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants