Skip to content

Commit

Permalink
Merge branch 'master' into ffmpeg/fix-android
Browse files Browse the repository at this point in the history
  • Loading branch information
uilianries authored Jul 31, 2024
2 parents 50f7365 + 6837af9 commit 9b8fc79
Show file tree
Hide file tree
Showing 371 changed files with 4,557 additions and 3,320 deletions.
6 changes: 6 additions & 0 deletions .c3i/authorized_users.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1382,3 +1382,9 @@ authorized_users:
- RobinQu
- MatthewRasa
- jan-kelemen
- xiadnoring
- FeignClaims
- husitawi
- fpoirotte
- cuppajoeman
- vsbogd
6 changes: 6 additions & 0 deletions .c3i/conan_v2_ready_references.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ required_for_references:
- asyncly
- asyncplusplus
- asyncpp
- atomic_queue
- audiofile
- autoconf
- autoconf-archive
Expand All @@ -81,6 +82,7 @@ required_for_references:
- aws-lambda-cpp
- aws-libfabric
- aws-sdk-cpp
- azure-sdk-for-cpp
- b2
- b64
- backport-cpp
Expand Down Expand Up @@ -739,6 +741,7 @@ required_for_references:
- libipt
- libjpeg
- libjpeg-turbo
- libjxl
- libkml
- libliftoff
- liblsl
Expand Down Expand Up @@ -809,6 +812,7 @@ required_for_references:
- libslz
- libsmacker
- libsndfile
- libsndio
- libsodium
- libsolace
- libspatialindex
Expand Down Expand Up @@ -876,6 +880,7 @@ required_for_references:
- lksctp-tools
- llama-cpp
- llhttp
- llnl-units
- llvm-openmp
- lmdb
- lodepng
Expand Down Expand Up @@ -1404,6 +1409,7 @@ required_for_references:
- svector
- svgpp
- svgwrite
- swig
- symengine
- systemc
- systemc-cci
Expand Down
2 changes: 1 addition & 1 deletion .c3i/config_v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
id: 'conan-io/conan-center-index'

conan:
version: 2.3.1
version: 2.5.0
backup_sources:
upload_url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/"
download_url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/"
Expand Down
2 changes: 2 additions & 0 deletions .c3i/waitlist_users.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ waitlist_users:
- refactorTractor
- jjbel
- synaptics-lspintzyk
- wer14
- connor-i-clark
5 changes: 3 additions & 2 deletions docs/adding_packages/conandata_yml_format.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,9 @@ Usually, `url` has a [https](https://tools.ietf.org/html/rfc2660) scheme, but ot
#### sha256

[sha256](https://tools.ietf.org/html/rfc6234) is a preferred method to specify hash sum for the released sources. It allows to check the integrity of sources downloaded.
You may use an [online service](https://hash.online-convert.com/sha256-generator) to compute `sha256` sum for the given `url`.
Also, you may use [sha256sum](https://linux.die.net/man/1/sha256sum) command ([windows](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.4) you can use PowerShell).
You may use an [online service](https://hash.online-convert.com/sha256-generator) to compute `sha256` sum for the given file located at `url`.

If you're using linux you can run `wget -q -O - url | sha256sum` to get the hash which uses the [sha256sum](https://linux.die.net/man/1/sha256sum) command ([windows](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.4) you can use PowerShell).

## patches

Expand Down
22 changes: 17 additions & 5 deletions docs/adding_packages/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,11 @@ for consumer, we do impose some limits on Conan features to provide a smoother f

Version ranges are a useful Conan feature, [documentation here](https://docs.conan.io/2/tutorial/versioning/version_ranges.html).
With the introduction of Conan 2.0, we are currently working to allow the use of version ranges and are allowing this for a handful of dependencies.
Currently, these are (except if the recipe needs a newer lower/upper version bound for specific reasons):

Version ranges are being progressively introduced by Conan team maintainers and are being rolled out in phases, and we do not intend
to do it all at once.

Version ranges for the following dependencies will be accepted in pull requests:

* OpenSSL: `[>=1.1 <4]` for libraries known to be compatible with OpenSSL 1.x and 3.x
* CMake: `[>3.XX <4]`, where `3.XX` is the minimum version of CMake required by the relevant build scripts. Note that CCI recipes assume 3.15 is installed in the system, so add this
Expand All @@ -192,6 +196,11 @@ version range only when a requirement for a newer version is needed.
* qt5: `[~5.15]`, if your library depends on qt5, only the 5.15 minor version is allowed
* qt6: `[>=6.x <7]`, where 6.x is the lower bound of your needed qt6 version
* c-ares: `[>=1.27 <2]`
* zstd: `[^1.5]` it's equivalent to `[>=1.5 <1.6]`
* ninja: `[>=1.10.2 <2]`
* meson: `[>=1.2.3 <2]`
* pkgconf: `[>=2.2 <3]`
* xz_utils: `[>=5.4.5 <6]`

> **Warning**: With Conan 1.x, [version ranges](https://docs.conan.io/1/versioning/version_ranges.html) adhere to a much more strict sematic version spec,
> OpenSSL 1.1.x does not follow this so the client will not resolve to that range and will pick a 3.x version. In order to select a lower version you
Expand All @@ -202,11 +211,14 @@ Conan maintainers may introduce this for other dependencies over time. Outside o

#### Adding Version Ranges

You might also see version ranges in some PR by CCI maintainers.
You might also see version ranges being added in pull requests by Conan maintainers, that
are not in the list above. These are being introduced on a case-by-case basis, and are being rolled out
in phases to ensure that they do not cause problems to users. Note that version ranges can
only be used for libraries and tools that have strong compatibility guarantees - and may not
be suitable in all cases.

These are being done on a case-by-case basis, and are being rolled out in phases to ensure
that they do not cause problems to users. Please do not open PRs that exclusively add version ranges to dependencies,
unless they are solving current conflicts, in which case we welcome them and they will be prioritized.
Please do not open PRs that exclusively add version ranges to dependencies, unless they are solving
current conflicts, in which case we welcome them and they will be prioritized.

## Handling "internal" dependencies

Expand Down
5 changes: 5 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

### 10-Jul-2024 - 13:22 CEST

- [feature] Add support for Conan 2.5.0 in the CI
- [fix] Invalid configuration from tool requirement in Conan 1.x

### 22-May-2024 - 12:04 CEST

- [feature] Add support for Conan 2.3.1 in the CI
Expand Down
2 changes: 1 addition & 1 deletion linter/conandata_yaml_linter.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def main():
patch_fields = MapCombined(
{
"patch_file": Str(),
"patch_description": Str(),
Optional("patch_description"): Str(),
Optional("patch_type"): Enum(
["official", "conan", "portability", "bugfix", "vulnerability"]
),
Expand Down
13 changes: 13 additions & 0 deletions recipes/android-ndk/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
sources:
"r27":
"Windows":
"x86_64":
url: "https://dl.google.com/android/repository/android-ndk-r27-windows.zip"
sha256: "342ceafd7581ae26a0bd650a5e0bbcd0aa2ee15eadfd7508b3dedeb1372d7596"
"Linux":
"x86_64":
url: "https://dl.google.com/android/repository/android-ndk-r27-linux.zip"
sha256: "2f17eb8bcbfdc40201c0b36e9a70826fcd2524ab7a2a235e2c71186c302da1dc"
"Macos":
"x86_64":
url: "https://dl.google.com/android/repository/android-ndk-r27-darwin.zip"
sha256: "2f2ef00b22fe22c1c9c78fda1b38ea7ffa6528e25eac0b70a92f8cb0093143be"
"r26d":
"Windows":
"x86_64":
Expand Down
2 changes: 2 additions & 0 deletions recipes/android-ndk/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"r27":
folder: all
"r26d":
folder: all
"r26c":
Expand Down
3 changes: 3 additions & 0 deletions recipes/argparse/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"3.1":
url: "https://github.com/p-ranav/argparse/archive/v3.1.tar.gz"
sha256: "d01733552ca4a18ab501ae8b8be878131baa32e89090fafdeef018ebfa4c6e46"
"3.0":
url: "https://github.com/p-ranav/argparse/archive/v3.0.tar.gz"
sha256: "ba7b465759bb01069d57302855eaf4d1f7d677f21ad7b0b00b92939645c30f47"
Expand Down
7 changes: 3 additions & 4 deletions recipes/argparse/all/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,11 @@ def package(self):
copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=include_dst)

def package_info(self):
self.cpp_info.bindirs = []
self.cpp_info.libdirs = []

self.cpp_info.set_property("cmake_file_name", "argparse")
self.cpp_info.set_property("cmake_target_name", "argparse::argparse")
self.cpp_info.set_property("pkg_config_name", "argparse")
if Version(self.version) <= "2.1":
self.cpp_info.includedirs.append(os.path.join("include", "argparse"))
self.cpp_info.bindirs = []
self.cpp_info.frameworkdirs = []
self.cpp_info.libdirs = []
self.cpp_info.resdirs = []
2 changes: 2 additions & 0 deletions recipes/argparse/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"3.1":
folder: all
"3.0":
folder: all
"2.9":
Expand Down
3 changes: 3 additions & 0 deletions recipes/arrow/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"17.0.0":
url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-17.0.0/apache-arrow-17.0.0.tar.gz?action=download"
sha256: "9d280d8042e7cf526f8c28d170d93bfab65e50f94569f6a790982a878d8d898d"
"16.1.0":
url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-16.1.0/apache-arrow-16.1.0.tar.gz?action=download"
sha256: "c9e60c7e87e59383d21b20dc874b17153729ee153264af6d21654b7dff2c60d7"
Expand Down
2 changes: 2 additions & 0 deletions recipes/arrow/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"17.0.0":
folder: all
"16.1.0":
folder: all
"16.0.0":
Expand Down
4 changes: 4 additions & 0 deletions recipes/atomic_queue/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
sources:
"1.6.3":
url: "https://github.com/max0x7ba/atomic_queue/archive/refs/tags/v1.6.3.tar.gz"
sha256: "0ad6e0203d90367f6a4e496449dfd9ad65b80168fadafef4eac08820c6bda79c"
46 changes: 46 additions & 0 deletions recipes/atomic_queue/all/conanfile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
from conan import ConanFile
from conan.tools.build import check_min_cppstd
from conan.tools.files import copy, get
from conan.tools.layout import basic_layout
import os

required_conan_version = ">=1.50.0"

class CxxOptsConan(ConanFile):
name = "atomic_queue"
homepage = "https://github.com/max0x7ba/atomic_queue"
url = "https://github.com/conan-io/conan-center-index"
description = "Multiple-producer-multiple-consumer lock-free queues based on circular buffer and std::atomic."
license = "MIT"
topics = ("queue", "lockfree", "atomic")
package_type = "header-library"
settings = "os", "arch", "compiler", "build_type"
no_copy_source = True

@property
def _min_cppstd(self):
return 14

def layout(self):
basic_layout(self, src_folder="src")

def package_id(self):
self.info.clear()

def validate(self):
if self.settings.compiler.get_safe("cppstd"):
check_min_cppstd(self, self._min_cppstd)

def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=True)

def build(self):
pass

def package(self):
copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
copy(self, pattern="*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include"))

def package_info(self):
self.cpp_info.bindirs = []
self.cpp_info.libdirs = []
8 changes: 8 additions & 0 deletions recipes/atomic_queue/all/test_package/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 3.8)
project(test_package LANGUAGES CXX)

find_package(atomic_queue REQUIRED CONFIG)

add_executable(${PROJECT_NAME} test_package.cpp)
target_link_libraries(${PROJECT_NAME} PRIVATE atomic_queue::atomic_queue)
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
26 changes: 26 additions & 0 deletions recipes/atomic_queue/all/test_package/conanfile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import os
from conan import ConanFile
from conan.tools.build import can_run
from conan.tools.cmake import CMake, cmake_layout

required_conan_version = ">=1.50.0"

class TestPackageConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
test_type = "explicit"

def requirements(self):
self.requires(self.tested_reference_str)

def layout(self):
cmake_layout(self)

def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()

def test(self):
if can_run(self):
self.run(os.path.join(self.cpp.build.bindirs[0], "test_package"), env="conanrun")
13 changes: 13 additions & 0 deletions recipes/atomic_queue/all/test_package/test_package.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#include <atomic_queue/atomic_queue.h>

int main(int argc, char* argv[])
{
atomic_queue::AtomicQueue<int, 1> q;

const int iPush = 42;
q.push(iPush);

const int iPop = q.pop();

return (iPush - iPop);
}
3 changes: 3 additions & 0 deletions recipes/atomic_queue/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
versions:
"1.6.3":
folder: "all"
12 changes: 3 additions & 9 deletions recipes/aws-c-event-stream/all/conandata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,12 @@ sources:
"0.3.1":
url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.1.tar.gz"
sha256: "bdbc420efc2572689fb167ac288e982a01224876eb79d80e2411fad4c43e9dc0"
"0.2.20":
url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.20.tar.gz"
sha256: "a1384c1f63c82a0a0bc64c3e1bc2a672c75614940b71418d96de9e057e31aafd"
"0.2.15":
url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.15.tar.gz"
sha256: "4ff2ada07ede3c6afa4b8e6e20de541e717038307f29b38c27efa7c4d875ee26"
"0.2.12":
url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.12.tar.gz"
sha256: "cc4ebfe715d8df5b9e3f4a3ce9b67d5f480017a7ebbbfa1d5e64ea53ec672580"
"0.2.11":
url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.11.tar.gz"
sha256: "4818b8d3fe02016fcfdd033c1e9d8f6be07ccaeb38664fe8c31c0fd153ea56e6"
"0.2.7":
url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.2.7.tar.gz"
sha256: "bb5c94cdff70c1985fb0b5f30d81756cedb5a3c3075d37f7e1e2b34e2a33c8c0"
"0.1.5":
url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.1.5.tar.gz"
sha256: "f1b423a487b5d6dca118bfc0d0c6cc596dc476b282258a3228e73a8f730422d4"
Expand Down
8 changes: 2 additions & 6 deletions recipes/aws-c-event-stream/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,9 @@ versions:
folder: all
"0.3.1":
folder: all
"0.2.15":
folder: all
"0.2.12":
"0.2.20":
folder: all
"0.2.11":
folder: all
"0.2.7":
"0.2.15":
folder: all
"0.1.5":
folder: all
3 changes: 3 additions & 0 deletions recipes/aws-c-sdkutils/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"0.1.13":
url: "https://github.com/awslabs/aws-c-sdkutils/archive/v0.1.13.tar.gz"
sha256: "fb22b1d12172afa07214ba18ad3c3b71244cb3d31c81c439b0a6625745c1fef9"
"0.1.12":
url: "https://github.com/awslabs/aws-c-sdkutils/archive/v0.1.12.tar.gz"
sha256: "c876c3ce2918f1181c24829f599c8f06e29733f0bd6556d4c4fb523390561316"
Expand Down
8 changes: 6 additions & 2 deletions recipes/aws-c-sdkutils/all/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,14 @@ def layout(self):
cmake_layout(self, src_folder="src")

def requirements(self):
if Version(self.version) <= "0.1.3":
if Version(self.version) < "0.1.12":
self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True)
else:
elif Version(self.version) == "0.1.12":
# [>=0.9.4 <=0.9.10]
self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True)
else:
# [>=0.9.10]
self.requires("aws-c-common/0.9.12", transitive_headers=True, transitive_libs=True)

def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=True)
Expand Down
2 changes: 2 additions & 0 deletions recipes/aws-c-sdkutils/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"0.1.13":
folder: all
"0.1.12":
folder: all
"0.1.3":
Expand Down
Loading

0 comments on commit 9b8fc79

Please sign in to comment.