Skip to content

Commit f9ea007

Browse files
Merge branch 'develop' of octocat.dlogics.com:datalogics/conan-center-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 ...
2 parents 652f00d + 51d1ec3 commit f9ea007

File tree

946 files changed

+16218
-7473
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

946 files changed

+16218
-7473
lines changed

.c3i/authorized_users.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -995,3 +995,22 @@ authorized_users:
995995
- agilemapper
996996
- ZXfkSIE
997997
- RubenRBS
998+
- Alex-PLACET
999+
- antekone
1000+
- ambroff
1001+
- tiolan
1002+
- MateuszMiekicki
1003+
- EricAtORS
1004+
- calebkiage
1005+
- bennyhuo
1006+
- ashuels
1007+
- jjcasmar
1008+
- kaipenglu
1009+
- ashley-b
1010+
- psmitsu
1011+
- Viatorus
1012+
- mkoviazin
1013+
- shtanko-sv
1014+
- larshg
1015+
- Wuqiqi123
1016+
- OzanCansel

.c3i/config_v1.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
id: 'conan-io/conan-center-index'
44

55
conan:
6-
version: 1.53.0
6+
version: 1.54.0
77

88
artifactory:
99
url: "https://c3i.jfrog.io/c3i"
@@ -33,13 +33,17 @@ slack:
3333

3434
# Things related to Jenkins jobs
3535
tasks:
36-
conan_v2_run_export: true
36+
conan_v2_run_export: false
3737
write_comments: true
3838
detailed_status_checks: true
3939
update_labels: true
4040
automatic_merge:
4141
reviews_required_total: 2 # Reviews that a PR needs so it can be merged
4242
reviews_required_team: 1 # Reviews from the Conan team that a PR needs so it can be merged
43+
cci_wait_for_multibranch: # CCI jobs should wait for other multibranch job for that same PR
44+
job_name: "prod-v2/cci" # e.g. "cci-v2/cci" -> this means waiting for cci-v2/cci/PR-<number>
45+
timeout_seconds: 600 # Maximum time to wait for the multibranch job
46+
merge_messages: true # Merge messages from the multibranch job waited for
4347

4448
# Profile configurations to build packages
4549
configurations:
@@ -159,7 +163,7 @@ node_labels:
159163
Windows:
160164
x86_64:
161165
"Visual Studio":
162-
default: "windows20221024"
166+
default: "windows20221212"
163167
Macos:
164168
x86_64:
165169
"apple-clang":
@@ -184,7 +188,6 @@ pod_size:
184188
large:
185189
- "pcl"
186190
- "duckdb"
187-
- "cppfront"
188191
xlarge:
189192
- "llvm"
190193
- "opengv"

.c3i/config_v2.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ github:
3030

3131
# Things related to Jenkins jobs:
3232
tasks:
33+
feedback_title: "Conan v2 pipeline (informative, not required for merge)"
3334
write_comments: false
3435
detailed_status_checks: false
3536
update_labels: false
@@ -87,7 +88,7 @@ node_labels:
8788
Windows:
8889
x86_64:
8990
"msvc":
90-
default: "windows20221024"
91+
default: "windows20221212"
9192
Macos:
9293
x86_64:
9394
"apple-clang":
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: 'ConanCenter: Web UI Bugs Or Requests'
2+
description: Bugs or feature requests for the Web UI of ConanCenter at https://conan.io/center
3+
title: '[conan.io/center] SHORT DESCRIPTION'
4+
labels: 'conan.io/center'
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to submit a report.
10+
**Please don't forget to update the issue title.**
11+
- type: textarea
12+
id: contents
13+
attributes:
14+
label: What is your problem/feature request?
15+
description: Please be as specific as possible!
16+
placeholder: Hi! I would like for ConanCenter to ...
17+
validations:
18+
required: true
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: 'Package: Completely New Recipe'
2+
description: If you would like to see a completely new recipe
3+
title: '[request] <LIBRARY-NAME>/<LIBRARY-VERSION>'
4+
labels: 'library request'
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to submit your request.
10+
**Please don't forget to update the issue title.**
11+
- type: input
12+
id: package
13+
attributes:
14+
label: Package Name/Version
15+
placeholder: cmake/3.25.1
16+
validations:
17+
required: true
18+
- type: input
19+
id: website
20+
attributes:
21+
label: Webpage
22+
placeholder: https://cmake.org
23+
validations:
24+
required: true
25+
- type: input
26+
id: sources
27+
attributes:
28+
label: Source code
29+
placeholder: https://github.com/Kitware/CMake
30+
validations:
31+
required: true
32+
- type: textarea
33+
id: description
34+
attributes:
35+
label: Description of the library/tool
36+
description: |
37+
Give us some context about this library/tool.
38+
What is it about?
39+
placeholder: |
40+
CMake is an open-source, cross-platform family of tools designed to build, test and package software.
41+
validations:
42+
required: true
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: 'Package: New Version'
2+
description: If an existing package recipe needs an update for a new upstream version
3+
title: '[request] <LIBRARY-NAME>/<LIBRARY-VERSION>'
4+
labels: 'upstream update'
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to submit your request.
10+
**Please don't forget to update the issue title.**
11+
- type: input
12+
id: package
13+
attributes:
14+
label: Package Name/Version
15+
placeholder: cmake/3.25.1
16+
validations:
17+
required: true
18+
- type: input
19+
id: changelog
20+
attributes:
21+
label: Changelog
22+
placeholder: https://cmake.org/cmake/help/latest/release/3.25.html
23+
validations:
24+
required: true
25+
- type: textarea
26+
id: description
27+
attributes:
28+
label: Context about the new update
29+
value: |
30+
The above-mentioned version is newly released by the upstream project and not yet available as a recipe.
31+
Please add this version.
32+
validations:
33+
required: true

.github/ISSUE_TEMPLATE/question.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Question
2+
description: If something needs clarification
3+
title: '[question] SHORT DESCRIPTION'
4+
labels: 'question'
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to fill your question.
10+
**Please don't forget to update the issue title.**
11+
- type: textarea
12+
id: question
13+
attributes:
14+
label: What is your question?
15+
description: Please be as specific as possible!
16+
placeholder: Hi! I have a question regarding ...
17+
validations:
18+
required: true

.github/ISSUE_TEMPLATE/service.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: 'Service: Infrastructure Bugs Or Requests'
2+
description: Bug or feature requests for Conan Center Index itself
3+
title: '[service] SHORT DESCRIPTION'
4+
labels: 'service'
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to submit a report.
10+
**Please don't forget to update the issue title.**
11+
- type: textarea
12+
id: contents
13+
attributes:
14+
label: What is your problem/feature request?
15+
description: Please be as specific as possible!
16+
placeholder: Hi! I would like for Conan Center Index to ...
17+
validations:
18+
required: true

.github/workflows/markdown-links.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: "[linter] Markdown links"
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- '**.md'
7+
8+
jobs:
9+
markdown-link-check-pr:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v3
13+
- uses: gaurav-nelson/github-action-markdown-link-check@v1
14+
with:
15+
config-file: .github/workflows/mlc_config.json
16+
use-quiet-mode: 'yes'
17+
use-verbose-mode: 'yes'
18+
check-modified-files-only: 'yes'

dlproject.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ config:
190190
# else the entry can be a dictionary of package name and options
191191
prebuilt_tools:
192192
- cmake/[>=3.23.0]
193+
- cmake/3.24.3
193194
- doxygen/1.9.1
194195
- doxygen/1.9.2
195196
- package: doxygen/1.9.1
@@ -253,6 +254,7 @@ config:
253254
# If the entry is a string, it's taken to be the package name,
254255
# else the entry can be a dictionary of package name and options
255256
prebuilt_tools:
257+
- cmake/3.24.3
256258
- cmake/[>=3.23.0]
257259
- doxygen/1.9.1
258260
- doxygen/1.9.2
@@ -333,6 +335,7 @@ config:
333335
- build_type=Debug
334336
prebuilt_tools: &redhat6Tools
335337
- package: cmake/[>=3.23.0]
338+
- package: cmake/3.24.3
336339
- package: doxygen/1.9.1
337340
- package: doxygen/1.9.2
338341
- package: doxygen/1.9.1
@@ -392,6 +395,7 @@ config:
392395
- build_type=Debug
393396
prebuilt_tools:
394397
- cmake/[>=3.23.0]
398+
- cmake/3.24.3
395399
- doxygen/1.9.1
396400
- doxygen/1.9.2
397401
- package: doxygen/1.9.1
@@ -477,6 +481,7 @@ config:
477481
default: *windowsDebug
478482
prebuilt_tools:
479483
- cmake/[>=3.23.0]
484+
- cmake/3.24.3
480485
- package: doxygen/1.9.1
481486
configs:
482487
# xapian-core doesn't work for cross-building x86_64 to x86
@@ -557,6 +562,11 @@ config:
557562
include:
558563
- Debug32
559564
prebuilt_tools:
565+
- package: cmake/3.24.3
566+
options:
567+
- cmake:with_openssl=False
568+
configs:
569+
- ReleaseTool
560570
- package: cmake/[>=3.23.0]
561571
options:
562572
- cmake:with_openssl=False
@@ -646,6 +656,9 @@ config:
646656
settings:
647657
- build_type=Debug
648658
prebuilt_tools:
659+
- package: cmake/3.24.3
660+
options:
661+
- cmake:with_openssl=False
649662
- package: cmake/[>=3.23.0]
650663
options:
651664
- cmake:with_openssl=False

docs/adding_packages/README.md

Lines changed: 1 addition & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,6 @@ You can follow the three steps (:one: :two: :three:) described below! :tada:
1919
* [`conandata.yml`](#conandatayml)
2020
* [The _recipe folder_: `conanfile.py`](#the-_recipe-folder_-conanfilepy)
2121
* [Test Folders](#test-folders)
22-
* [How to provide a good recipe](#how-to-provide-a-good-recipe)
23-
* [Header Only](#header-only)
24-
* [CMake](#cmake)
25-
* [Components](#components)
26-
* [Autotools](#autotools)
27-
* [Components](#components-1)
28-
* [No Upstream Build Scripts](#no-upstream-build-scripts)
29-
* [System Packages](#system-packages)
30-
* [Verifying Dependency Version](#verifying-dependency-version)
31-
* [Verifying Dependency Options](#verifying-dependency-options)
3222
* [Test the recipe locally](#test-the-recipe-locally)
3323
* [Hooks](#hooks)
3424
* [Linters](#linters)<!-- endToc -->
@@ -63,7 +53,7 @@ The specific steps to add new packages are:
6353

6454
* Fork the [conan-center-index](https://github.com/conan-io/conan-center-index) git repository, and then clone it locally.
6555
* Copy a template from [package_templates](../package_templates) folder in the recipes/ folder and rename it to the project name (it should be lower-case). Read templates [documentation](../package_templates/README.md) to find more information.
66-
* Make sure you are using the latest [Conan client](https://conan.io/downloads) version, as recipes might evolve introducing features of the newer Conan releases.
56+
* Make sure you are using a recent [Conan client](https://conan.io/downloads) version, as recipes might evolve introducing features of the newer Conan releases.
6757
* Commit and Push to GitHub then submit a pull request.
6858
* Our automated build service will build 100+ different configurations, and provide messages that indicate if there were any issues found during the pull request on GitHub.
6959

@@ -173,68 +163,6 @@ a minimal project to test the package is strictly required. You can read about i
173163

174164
Learn more about the ConanCenterIndex requirements in the [test packages](test_packages.md) document.
175165

176-
## How to provide a good recipe
177-
178-
The [recipes](https://github.com/conan-io/conan-center-index/tree/master/recipes) available in CCI can be used as good examples, you can use them as the base for your recipe. However it is important to note Conan features change over time and our best practices evolve so some minor details may be out of date due to the vast number of recipes.
179-
180-
### Header Only
181-
182-
If you are looking for header-only projects, you can take a look on [header-only template](../package_templates/header_only).
183-
Also, Conan Docs has a section about [how to package header-only libraries](https://docs.conan.io/en/latest/howtos/header_only.html).
184-
185-
### CMake
186-
187-
For C/C++ projects which use CMake for building, you can take a look on [cmake package template](../package_templates/cmake_package).
188-
189-
#### Components
190-
191-
Another common use case for CMake based projects, both header only and compiled, is _modeling components_ to match the `find_package` and export the correct targets from Conan's generators. A basic examples of this is [cpu_features](https://github.com/conan-io/conan-center-index/blob/master/recipes/cpu_features/all/conanfile.py), a moderate/intermediate example is [cpprestsdk](https://github.com/conan-io/conan-center-index/blob/master/recipes/cpprestsdk/all/conanfile.py), and a very complex example is [OpenCV](https://github.com/conan-io/conan-center-index/blob/master/recipes/opencv/4.x/conanfile.py).
192-
193-
### Autotools
194-
195-
However, if you need to use autotools for building, you can take a look on [libalsa](https://github.com/conan-io/conan-center-index/blob/master/recipes/libalsa/all/conanfile.py), [kmod](https://github.com/conan-io/conan-center-index/blob/master/recipes/kmod/all/conanfile.py), [libcap](https://github.com/conan-io/conan-center-index/blob/master/recipes/libcap/all/conanfile.py).
196-
197-
#### Components
198-
199-
Many projects offer **pkg-config**'s `*.pc` files which need to be modeled using components. A prime example of this is [Wayland](https://github.com/conan-io/conan-center-index/blob/master/recipes/wayland/all/conanfile.py).
200-
201-
### No Upstream Build Scripts
202-
203-
For cases where a project only offers source files, but not a build script, you can add CMake support, but first, contact the upstream and open a PR offering building support. If it's rejected because the author doesn't want any kind of build script, or the project is abandoned, CCI can accept your build script. Take a look at [Bzip2](https://github.com/conan-io/conan-center-index/blob/master/recipes/bzip2/all/CMakeLists.txt) and [DirectShowBaseClasses](https://github.com/conan-io/conan-center-index/blob/master/recipes/directshowbaseclasses/all/CMakeLists.txt) as examples.
204-
205-
### System Packages
206-
207-
> :information_source: For exceptional cases where only system packages can be used and a regular Conan package may result in an incompatible and fragile package, a separated system package may be created. See the [FAQs](../faqs.md#can-i-install-packages-from-the-system-package-manager) for more.
208-
209-
The [SystemPackageTool](https://docs.conan.io/en/latest/reference/conanfile/methods.html#systempackagetool) can easily manage a system package manager (e.g. apt,
210-
pacman, brew, choco) and install packages which are missing on Conan Center but available for most distributions. It is key to correctly fill in the `cpp_info` for the consumers of a system package to have access to whatever was installed.
211-
212-
As example there is [xorg](https://github.com/conan-io/conan-center-index/blob/master/recipes/xorg/all/conanfile.py). Also, it will require an exception rule for [conan-center hook](https://github.com/conan-io/hooks#conan-center), a [pull request](https://github.com/conan-io/hooks/pulls) should be open to allow it over the KB-H032.
213-
214-
### Verifying Dependency Version
215-
216-
Some project requirements need to respect a version constraint. This can be enforced in a recipe by accessing the [`dependencies`](https://docs.conan.io/en/latest/reference/conanfile/dependencies.html) attribute.
217-
An example of this can be found in the [fcl recipe](https://github.com/conan-io/conan-center-index/blob/1b6b496fe9a9be4714f8a0db45274c29b0314fe3/recipes/fcl/all/conanfile.py#L80).
218-
219-
```py
220-
def validate(self):
221-
foobar = self.dependencies["foobar"]
222-
if self.info.options.shared and Version(foobar.ref.version) < "1.2":
223-
raise ConanInvalidConfiguration(f"{self.ref} requires 'foobar' >=1.2 to be built as shared.")
224-
```
225-
226-
### Verifying Dependency Options
227-
228-
Certain projects are dependant on the configuration (a.k.a options) of a dependency. This can be enforced in a recipe by accessing the [`options`](https://docs.conan.io/en/latest/reference/conanfile/attributes.html#options) attribute.
229-
An example of this can be found in the [sdl_image recipe](https://github.com/conan-io/conan-center-index/blob/1b6b496fe9a9be4714f8a0db45274c29b0314fe3/recipes/sdl_image/all/conanfile.py#L93).
230-
231-
```py
232-
def validate(self):
233-
foobar = self.dependencies["foobar"]
234-
if not foobar.options.enable_feature:
235-
raise ConanInvalidConfiguration(f"The project {self.ref} requires foobar:enable_feature=True.")
236-
```
237-
238166
## Test the recipe locally
239167

240168
### Hooks

0 commit comments

Comments
 (0)