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

[gcc] Migrate recipe to conan v2, add gfortran to compilation #13896

Merged

Conversation

samuel-emrys
Copy link
Contributor

@samuel-emrys samuel-emrys commented Oct 31, 2022

Specify library name and version: gcc/12.2.0

This is also a good place to share with all of us why you are submitting this PR (specially if it is a new addition to ConanCenter): is it a dependency of other libraries you want to package? Are you the author of the library? Thanks!

This PR builds on top of #13882, which adds gcc 12.2.0 as a dependency. I submitted two PRs for this because I wanted a stable working copy to work from as a baseline (I couldn't build 10.2.0 on Arch Linux due to a GLIBC breaking change and a lingering incompatibility)

If you'd like me to pull #13882 down in favour of just this PR, happy to do so.

Also, I note that there's an existing PR for a gcc conan v2 migration in #12165. I'd largely completed this when I realised that was available, but I'd noted that my implementation may be more mature than what exists in that PR so I thought I'd put this up for maintainers decide which to use.

This differs from that implementation in the following ways:

  • Adds robust package testing - ensures that the compilers that the package has built are consumed via a VirtualBuildEnv
  • Adds binutils as a dependency to remove a dependency on this as a system lib
  • Compiles with both gcc and clang host compilers
  • Uses make install-strip to install the package in all build types

This hasn't been tested on Macos or Windows.


  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the conan-center hook activated.

@samuel-emrys samuel-emrys force-pushed the recipe/gcc-recipe-migration-2 branch from 46e693d to cdad4e7 Compare October 31, 2022 13:37
@conan-center-bot

This comment has been minimized.

@samuel-emrys samuel-emrys force-pushed the recipe/gcc-recipe-migration-2 branch 2 times, most recently from 2218a5b to 4cc233b Compare October 31, 2022 13:40
@conan-center-bot

This comment has been minimized.

@samuel-emrys samuel-emrys force-pushed the recipe/gcc-recipe-migration-2 branch from 4cc233b to 1670b5b Compare October 31, 2022 13:43
@conan-center-bot

This comment has been minimized.

@samuel-emrys
Copy link
Contributor Author

This relies on Conan 1.53.0 - any indications when this might be installed on the CI @prince-chrismc ?

@prince-chrismc
Copy link
Contributor

prince-chrismc commented Oct 31, 2022

#13753 needs to go in but it's a national holiday in spain tomorrow so hopefully Wednesdays 🤞

Comment on lines 58 to 59
# Ensure binutils and flex are on the path
buildenv = VirtualBuildEnv(self)
Copy link
Contributor

Choose a reason for hiding this comment

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

This is automatic in 2.0 fyi and there a conf for 1.x to match the behavior :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep, appreciated. I think my preference would be to force it here rather than relying on the conf value, and remove it when conan 2.0 rolls around. Is that acceptable?

Copy link
Contributor

@prince-chrismc prince-chrismc left a comment

Choose a reason for hiding this comment

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

Super minor nits but I really like this! amazing work!

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

samuel-emrys and others added 3 commits November 3, 2022 09:02
* Migrate gcc recipe to conan v2
* Add fortran as an enabled language to ensure that gfortran is built
* Add binutils as a build_requires to remove dependency on system
  binaries
* Refactor package test to ensure that the package compilers are under
  test and not the system compilers
* Add fortran test binary
* Export environment variables in the buildenv for gcc, g++, gfortran,
  ar, nm, ranlib
* Include call to action to submit PR for unimplemented changes
* Remove appendage to buildenv PATH as this is redundant - already performed by modern generators

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
* Add version 11.3.0
* Revert conan test_package name from GccTestConan to TestPackageConan
  to reduce noise in the diff. This is a no-op as the test package class
  name is relatively meaningless - it doesn't need to be descriptive.
@samuel-emrys samuel-emrys force-pushed the recipe/gcc-recipe-migration-2 branch from 027fda3 to 16e70dc Compare November 2, 2022 22:33
@conan-center-bot

This comment has been minimized.

@samuel-emrys samuel-emrys reopened this Nov 2, 2022
@conan-center-bot

This comment has been minimized.

@prince-chrismc
Copy link
Contributor

Missing conanfile looks sus

@conan-center-bot

This comment has been minimized.

@prince-chrismc
Copy link
Contributor

Ohh the error message is way confusing!

@samuel-emrys
Copy link
Contributor Author

Yeah. Given this comment: #14943 (comment), I might just revert the features that require conan 1.55.0 and we can make improvements to the recipe when the c3i version catches up.

* Revert transition to autotools.install(target="install-strip") because c3i doesn't support conan 1.55.0.
* Add `--prefix` and `--libexecdir` configure arguments to support legacy `autotools.make(target="install-strip")` function call.
@conan-center-bot

This comment has been minimized.

@github-actions
Copy link
Contributor

Hooks produced the following warnings for commit 1c22955
gcc/12.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
gcc/10.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
gcc/11.3.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?

prince-chrismc
prince-chrismc previously approved these changes Jan 3, 2023
Copy link
Contributor

@prince-chrismc prince-chrismc left a comment

Choose a reason for hiding this comment

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

this PR does a lot of heaving lifting and I think it's close enough to get a green check.
I did not see any blockers

memsharded
memsharded previously approved these changes Jan 3, 2023
recipes/gcc/all/conanfile.py Outdated Show resolved Hide resolved
@samuel-emrys samuel-emrys dismissed stale reviews from memsharded and prince-chrismc via d59afa6 January 4, 2023 00:30
@conan-center-bot

This comment has been minimized.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 4, 2023

Hooks produced the following warnings for commit d59afa6
gcc/11.3.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
gcc/10.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
gcc/12.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?

@samuel-emrys samuel-emrys reopened this Jan 4, 2023
@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline

All green in build 28 (924e331a6466eaf086ae068ae27d39ce8d8657af):

  • gcc/12.2.0@:
    All packages built successfully! (All logs)

  • gcc/10.2.0@:
    All packages built successfully! (All logs)

  • gcc/11.3.0@:
    All packages built successfully! (All logs)


Conan v2 pipeline (informative, not required for merge)

Failure in build 28 (924e331a6466eaf086ae068ae27d39ce8d8657af):

  • gcc/12.2.0@:
    CI failed to create some packages (All logs)

    Logs for packageID null:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    
    ********************************************************************************
    conan install --require=gcc/12.2.0@#a9570f5f14552053f091be01140d3117 --build=gcc/12.2.0 -pr:h /home/conan/w/prod-v2/BuildSingleReference/10006/8dec56d9-e5de-4e5c-8788-a63151c234fd/profile_linux_11_libstdcpp11_gcc_release_64..txt -c:h tools.system.package_manager:mode=install -c:h tools.system.package_manager:sudo=True -pr:b /home/conan/w/prod-v2/BuildSingleReference/10006/8dec56d9-e5de-4e5c-8788-a63151c234fd/profile_linux_11_libstdcpp11_gcc_release_64..txt -c:b tools.system.package_manager:mode=install -c:b tools.system.package_manager:sudo=True
    ********************************************************************************
    
    -------- Input profiles --------
    Profile host:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [conf]
    tools.system.package_manager:mode=install
    tools.system.package_manager:sudo=True
    
    Profile build:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [conf]
    tools.system.package_manager:mode=install
    tools.system.package_manager:sudo=True
    
    
    -------- Computing dependency graph --------
    mpc/1.2.0: Not found in local cache, looking in remotes...
    mpc/1.2.0: Checking remote: conan-center-v2
    mpc/1.2.0: Checking remote: c3i_PR-v2-13896
    Graph root
        virtual
    Requirements
        gcc/12.2.0#a9570f5f14552053f091be01140d3117 - Cache
    Graph error
        Package 'mpc/1.2.0' not resolved: Unable to find 'mpc/1.2.0' in remotes
    
    -------- Computing necessary packages --------
    ERROR: Package 'mpc/1.2.0' not resolved: Unable to find 'mpc/1.2.0' in remotes
    
  • gcc/10.2.0@:
    Didn't run or was cancelled before finishing

  • gcc/11.3.0@:
    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.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 4, 2023

Hooks produced the following warnings for commit 924e331
gcc/12.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
gcc/10.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
gcc/11.3.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?

Copy link
Member

@uilianries uilianries left a comment

Choose a reason for hiding this comment

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

Considering what we have done in Conan Docker Tools, this recipe looks pretty close, or even better. Assuming that Linux is working now and it's well documented that both Mac and Windows need to be added, I'm totally fine as first step. Thank you for updating it.

@conan-center-bot conan-center-bot merged commit 8176302 into conan-io:master Jan 5, 2023
@System-Arch System-Arch mentioned this pull request Jan 15, 2023
3 tasks
AbrilRBS pushed a commit to AbrilRBS/conan-center-index that referenced this pull request Jan 16, 2023
…mpilation

* [gcc] Migrate to conan v2, add fortran

* Migrate gcc recipe to conan v2
* Add fortran as an enabled language to ensure that gfortran is built
* Add binutils as a build_requires to remove dependency on system
  binaries
* Refactor package test to ensure that the package compilers are under
  test and not the system compilers
* Add fortran test binary
* Export environment variables in the buildenv for gcc, g++, gfortran,
  ar, nm, ranlib

* Apply suggestions from code review

* Include call to action to submit PR for unimplemented changes
* Remove appendage to buildenv PATH as this is redundant - already performed by modern generators

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>

* [gcc] Add version 11.3.0

* Add version 11.3.0
* Revert conan test_package name from GccTestConan to TestPackageConan
  to reduce noise in the diff. This is a no-op as the test package class
  name is relatively meaningless - it doesn't need to be descriptive.

* [gcc] Fix compiler cannot create executables

* Fix 'compiler cannot create executables' error by removing
  AutotoolsDeps script generation, which was erroneously inserting $LIBS
  into the compilation command of the test executable without also
  injecting $LDFLAGS, which caused a failure to compile.
* Add libexecdir override
* Use the zlib dependency

* [gcc] Add legacy environment variables for v1 compatibility

* Add legacy env_info environment variable definitions for conan v1
  compatibility

* [gcc] Fix Macos compatibility

* Fix Macos compatibility by moving make arguments into the single call
  to `append()`
* Remove binutils as a build requirement for Macos as the conan binutils
  package is broken for Macos

* [gcc] Remove Macos as a valid build

* Remove Macos as a valid build since c3i CI still produces errors that
  can't be replicated locally
* Change criteria for inclusion of binutils to be if the os is Linux
  rather than not Macos, since Windows will require the utilities
  provided by msys/mingw64, and the package is broken for Macos, so it
  makes sense to constrain the usage of this to Linux environments.
* Prevent users from attempting to build the package with msvc. The
  build instructions for GCC state that the MinGW toolchain is a
  requirement, with a GNU compiler when building on windows:
  https://gcc.gnu.org/wiki/WindowsBuilding

* Modify layout to use src instead of source for source folder

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>

* [gcc] Modify for more idiomatic recipe

* Bump zlib dependency to 1.2.13
* Use is_msvc() istead of comparing compiler strings
* Use FIXME for notes to make them findable easily
* Remove guard for v1 specific logic

* [gcc] Use new dependencies interface rather than deps_cpp_info

Adds conan 2.0 compatibility by using the dependencies interface rather than deps_cpp_info

Co-authored-by: Uilian Ries <uilianries@gmail.com>

* [gcc] Modernise AutoTools usage

* Remove manual prefix specification in favour of the default `/`
  and creation of a portable package using DESTDIR
* Use the `Autotools.install()` method instead of `Autotools.make()`
  with a target override to `install-strip` for more semantic
  consistency
* Remove libexecdir override to be compatible with DESTDIR for
  package portability

* [gcc] Bump required conan version

* Removed unused imports
* Bump required conan version to 1.55.0 to make use of new target argument
  for Autotools.install()

* [gcc] Remove reference to self.info.settings in build_requirements

* Replace with self.settings instead.

* [gcc] Revert "Modernise AutoTools usage"

* Revert transition to autotools.install(target="install-strip") because c3i doesn't support conan 1.55.0.
* Add `--prefix` and `--libexecdir` configure arguments to support legacy `autotools.make(target="install-strip")` function call.

* [gcc] Move from `self.info.settings` to `self.settings` in validate method

* [gcc] Remove self.info.settings in favour of self.settings where package compatibility is not a consideration

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
Co-authored-by: Uilian Ries <uilianries@gmail.com>
datalogics-robb pushed a commit to datalogics-robb/conan-center-index that referenced this pull request Mar 6, 2023
…-index

* 'develop' of octocat.dlogics.com:datalogics/conan-center-index: (259 commits)
  Allow empty keys in dlproject.yaml for merging tasks
  (conan-io#15093) [libjpeg] Update sha256 for 9e
  (conan-io#15123) faac: add Visual Studio support + drop 1.28
  (conan-io#14103) gmp: conan v2 support
  (conan-io#14982) rapidyaml: add version 0.5.0
  (conan-io#15122) m4: use positional arguments when calling self.run()
  (conan-io#15091) catch2.x.x: Fix test_package for v2
  (conan-io#12938) capnproto: conan v2 support
  (conan-io#15097) http_parser: modernize
  (conan-io#15096) perlinnoise: add recipe
  (conan-io#15088) Make openexr v2 compatible
  (conan-io#15056) qt5: Apple OSs don't require CROSS_COMPILE option
  (conan-io#14974) libxshmfence: generate gcc11 binaries
  (conan-io#14903) arrow: remove patch for CMake
  (conan-io#14874) faac: conan v2 support
  (conan-io#13896) [gcc] Migrate recipe to conan v2, add gfortran to compilation
  Revert "(conan-io#14221) [config] Use larger resources to build cppfront packages" (conan-io#14953)
  (conan-io#15086) openh264: fix tools legacy
  (conan-io#15085) Make xkeyboard-config v2 compatible
  (conan-io#15089) Raise required_conan_version for xorg/system
  ...
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.

6 participants