Skip to content

Commit 19427ac

Browse files
nnobelissschuberth
authored andcommitted
feat(conan): Add support for Conan 2
The Conan package manager now supports Conan version 2 executable. Create a new handler to support the differences between Conan 1 and Conan 2 data models. This first implementation is not perfect as there are some shortcomings outlined in the functional tests: Conan 2 returns more packages in the dependency tree than Conan 1. Additionally, sometimes those packages are resolved at a higher version compared to Conan 1. Unfortunately, with the current configuration, it is not possible to have a functional test that tests both versions of Conan at the same time: Only one "conan" command can be installed and made available on the PATH environment. A future commit will add a parameter to the package manager to address this issue. Fixes #8383. Signed-off-by: Sebastian Schuberth <[email protected]> Signed-off-by: Nicolas Nobelis <[email protected]>
1 parent 3f2aa2c commit 19427ac

File tree

10 files changed

+1072
-9
lines changed

10 files changed

+1072
-9
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"version": "0.5",
3+
"requires": [
4+
"zstd/1.5.5#1f239731dc45147c7fc2f54bfbde73df%1715599909.17",
5+
"zlib/1.3.1",
6+
"sqlite3/3.45.0#3a7911478ffd14e7acc694ac113449b6%1707810434.986",
7+
"pcre2/10.42#ac2227071f79a062167cf2fee7189d66%1727865720.942",
8+
"openssl/3.3.1",
9+
"lz4/1.9.4#652b313a0444c8b1d60d1bf9e95fb0a1%1721807480.477",
10+
"libpq/15.4#cca9970f349bcdb6c8b35acd017ee5aa%1736524835.063",
11+
"libmysqlclient/8.1.0#ecca1993f7ce32371ef5436f3639074a%1704273465.815",
12+
"expat/2.6.3",
13+
"bzip2/1.0.8#d00dac990f08d991998d624be81a9526%1724661266.998"
14+
],
15+
"build_requires": [],
16+
"python_requires": [],
17+
"config_requires": []
18+
}
Lines changed: 337 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,337 @@
1+
---
2+
project:
3+
id: "Conan::poco:"
4+
definition_file_path: "plugins/package-managers/conan/src/funTest/assets/projects/synthetic/conan-py/conanfile.py"
5+
declared_licenses:
6+
- "BSL-1.0"
7+
declared_licenses_processed:
8+
spdx_expression: "BSL-1.0"
9+
vcs:
10+
type: "Git"
11+
url: "https://github.com/conan-io/conan-center-index.git"
12+
revision: ""
13+
path: ""
14+
vcs_processed:
15+
type: "Git"
16+
url: "<REPLACE_URL_PROCESSED>"
17+
revision: "<REPLACE_REVISION>"
18+
path: "<REPLACE_PATH>"
19+
homepage_url: "https://pocoproject.org"
20+
scopes:
21+
- name: "build_requires"
22+
dependencies: []
23+
- name: "requires"
24+
dependencies:
25+
- id: "Conan::expat:2.7.0"
26+
- id: "Conan::libmysqlclient:8.1.0"
27+
dependencies:
28+
- id: "Conan::lz4:1.9.4"
29+
- id: "Conan::openssl:3.4.1"
30+
dependencies:
31+
- id: "Conan::zlib:1.2.13"
32+
- id: "Conan::zlib:1.2.13"
33+
- id: "Conan::zstd:1.5.5"
34+
- id: "Conan::libpq:15.4"
35+
- id: "Conan::openssl:3.4.1"
36+
dependencies:
37+
- id: "Conan::zlib:1.2.13"
38+
- id: "Conan::pcre2:10.42"
39+
dependencies:
40+
- id: "Conan::bzip2:1.0.8"
41+
- id: "Conan::zlib:1.2.13"
42+
- id: "Conan::sqlite3:3.45.0"
43+
- id: "Conan::zlib:1.2.13"
44+
packages:
45+
- id: "Conan::bzip2:1.0.8"
46+
purl: "pkg:conan/[email protected]"
47+
declared_licenses:
48+
- "bzip2-1.0.8"
49+
declared_licenses_processed:
50+
unmapped:
51+
- "bzip2-1.0.8"
52+
description: "bzip2 is a free and open-source file compression program that uses\
53+
\ the Burrows Wheeler algorithm."
54+
homepage_url: "https://sourceware.org/bzip2"
55+
binary_artifact:
56+
url: ""
57+
hash:
58+
value: ""
59+
algorithm: ""
60+
source_artifact:
61+
url: "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"
62+
hash:
63+
value: "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
64+
algorithm: "SHA-256"
65+
vcs:
66+
type: ""
67+
url: ""
68+
revision: ""
69+
path: ""
70+
vcs_processed:
71+
type: ""
72+
url: ""
73+
revision: ""
74+
path: ""
75+
- id: "Conan::expat:2.7.0"
76+
purl: "pkg:conan/[email protected]"
77+
declared_licenses:
78+
- "MIT"
79+
declared_licenses_processed:
80+
spdx_expression: "MIT"
81+
description: "Fast streaming XML parser written in C."
82+
homepage_url: "https://github.com/libexpat/libexpat"
83+
binary_artifact:
84+
url: ""
85+
hash:
86+
value: ""
87+
algorithm: ""
88+
source_artifact:
89+
url: "https://github.com/libexpat/libexpat/releases/download/R_2_7_0/expat-2.7.0.tar.xz"
90+
hash:
91+
value: "25df13dd2819e85fb27a1ce0431772b7047d72af81ae78dc26b4c6e0805f48d1"
92+
algorithm: "SHA-256"
93+
vcs:
94+
type: "Git"
95+
url: "https://github.com/libexpat/libexpat.git"
96+
revision: ""
97+
path: ""
98+
vcs_processed:
99+
type: "Git"
100+
url: "https://github.com/libexpat/libexpat.git"
101+
revision: ""
102+
path: ""
103+
- id: "Conan::libmysqlclient:8.1.0"
104+
purl: "pkg:conan/[email protected]"
105+
declared_licenses:
106+
- "GPL-2.0"
107+
declared_licenses_processed:
108+
spdx_expression: "GPL-2.0-only"
109+
mapped:
110+
GPL-2.0: "GPL-2.0-only"
111+
description: "A MySQL client library for C development."
112+
homepage_url: "https://dev.mysql.com/downloads/mysql/"
113+
binary_artifact:
114+
url: ""
115+
hash:
116+
value: ""
117+
algorithm: ""
118+
source_artifact:
119+
url: "https://dev.mysql.com/get/Downloads/MySQL-8.1/mysql-8.1.0.tar.gz"
120+
hash:
121+
value: "3dd017a940734aa90796a4c65e125e6712f64bbbbe3388d36469deaa87b599eb"
122+
algorithm: "SHA-256"
123+
vcs:
124+
type: ""
125+
url: ""
126+
revision: ""
127+
path: ""
128+
vcs_processed:
129+
type: ""
130+
url: ""
131+
revision: ""
132+
path: ""
133+
is_modified: true
134+
- id: "Conan::libpq:15.4"
135+
purl: "pkg:conan/[email protected]"
136+
declared_licenses:
137+
- "PostgreSQL"
138+
declared_licenses_processed:
139+
spdx_expression: "PostgreSQL"
140+
description: "The library used by all the standard PostgreSQL tools."
141+
homepage_url: "https://www.postgresql.org/docs/current/static/libpq.html"
142+
binary_artifact:
143+
url: ""
144+
hash:
145+
value: ""
146+
algorithm: ""
147+
source_artifact:
148+
url: "https://ftp.postgresql.org/pub/source/v15.4/postgresql-15.4.tar.bz2"
149+
hash:
150+
value: "baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9"
151+
algorithm: "SHA-256"
152+
vcs:
153+
type: ""
154+
url: ""
155+
revision: ""
156+
path: ""
157+
vcs_processed:
158+
type: ""
159+
url: ""
160+
revision: ""
161+
path: ""
162+
is_modified: true
163+
- id: "Conan::lz4:1.9.4"
164+
purl: "pkg:conan/[email protected]"
165+
declared_licenses:
166+
- "BSD-2-Clause"
167+
- "BSD-3-Clause"
168+
declared_licenses_processed:
169+
spdx_expression: "BSD-2-Clause AND BSD-3-Clause"
170+
description: "Extremely Fast Compression algorithm"
171+
homepage_url: "https://github.com/lz4/lz4"
172+
binary_artifact:
173+
url: ""
174+
hash:
175+
value: ""
176+
algorithm: ""
177+
source_artifact:
178+
url: "https://github.com/lz4/lz4/archive/v1.9.4.tar.gz"
179+
hash:
180+
value: "0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b"
181+
algorithm: "SHA-256"
182+
vcs:
183+
type: "Git"
184+
url: "https://github.com/lz4/lz4.git"
185+
revision: ""
186+
path: ""
187+
vcs_processed:
188+
type: "Git"
189+
url: "https://github.com/lz4/lz4.git"
190+
revision: ""
191+
path: ""
192+
is_modified: true
193+
- id: "Conan::openssl:3.4.1"
194+
purl: "pkg:conan/[email protected]"
195+
declared_licenses:
196+
- "Apache-2.0"
197+
declared_licenses_processed:
198+
spdx_expression: "Apache-2.0"
199+
description: "A toolkit for the Transport Layer Security (TLS) and Secure Sockets\
200+
\ Layer (SSL) protocols"
201+
homepage_url: "https://github.com/openssl/openssl"
202+
binary_artifact:
203+
url: ""
204+
hash:
205+
value: ""
206+
algorithm: ""
207+
source_artifact:
208+
url: "https://github.com/openssl/openssl/releases/download/openssl-3.4.1/openssl-3.4.1.tar.gz"
209+
hash:
210+
value: "002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3"
211+
algorithm: "SHA-256"
212+
vcs:
213+
type: "Git"
214+
url: "https://github.com/openssl/openssl.git"
215+
revision: ""
216+
path: ""
217+
vcs_processed:
218+
type: "Git"
219+
url: "https://github.com/openssl/openssl.git"
220+
revision: ""
221+
path: ""
222+
- id: "Conan::pcre2:10.42"
223+
purl: "pkg:conan/[email protected]"
224+
declared_licenses:
225+
- "BSD-3-Clause"
226+
declared_licenses_processed:
227+
spdx_expression: "BSD-3-Clause"
228+
description: "Perl Compatible Regular Expressions"
229+
homepage_url: "https://www.pcre.org/"
230+
binary_artifact:
231+
url: ""
232+
hash:
233+
value: ""
234+
algorithm: ""
235+
source_artifact:
236+
url: "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2"
237+
hash:
238+
value: "8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840"
239+
algorithm: "SHA-256"
240+
vcs:
241+
type: ""
242+
url: ""
243+
revision: ""
244+
path: ""
245+
vcs_processed:
246+
type: ""
247+
url: ""
248+
revision: ""
249+
path: ""
250+
is_modified: true
251+
- id: "Conan::sqlite3:3.45.0"
252+
purl: "pkg:conan/[email protected]"
253+
declared_licenses:
254+
- "Unlicense"
255+
declared_licenses_processed:
256+
spdx_expression: "Unlicense"
257+
description: "Self-contained, serverless, in-process SQL database engine."
258+
homepage_url: "https://www.sqlite.org"
259+
binary_artifact:
260+
url: ""
261+
hash:
262+
value: ""
263+
algorithm: ""
264+
source_artifact:
265+
url: "https://sqlite.org/2024/sqlite-amalgamation-3450000.zip"
266+
hash:
267+
value: "bde30d13ebdf84926ddd5e8b6df145be03a577a48fd075a087a5dd815bcdf740"
268+
algorithm: "SHA-256"
269+
vcs:
270+
type: ""
271+
url: ""
272+
revision: ""
273+
path: ""
274+
vcs_processed:
275+
type: ""
276+
url: ""
277+
revision: ""
278+
path: ""
279+
- id: "Conan::zlib:1.2.13"
280+
purl: "pkg:conan/[email protected]"
281+
declared_licenses:
282+
- "Zlib"
283+
declared_licenses_processed:
284+
spdx_expression: "Zlib"
285+
description: "A Massively Spiffy Yet Delicately Unobtrusive Compression Library\
286+
\ (Also Free, Not to Mention Unencumbered by Patents)"
287+
homepage_url: "https://zlib.net"
288+
binary_artifact:
289+
url: ""
290+
hash:
291+
value: ""
292+
algorithm: ""
293+
source_artifact:
294+
url: "https://zlib.net/fossils/zlib-1.2.13.tar.gz"
295+
hash:
296+
value: "b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30"
297+
algorithm: "SHA-256"
298+
vcs:
299+
type: ""
300+
url: ""
301+
revision: ""
302+
path: ""
303+
vcs_processed:
304+
type: ""
305+
url: ""
306+
revision: ""
307+
path: ""
308+
is_modified: true
309+
- id: "Conan::zstd:1.5.5"
310+
purl: "pkg:conan/[email protected]"
311+
declared_licenses:
312+
- "BSD-3-Clause"
313+
declared_licenses_processed:
314+
spdx_expression: "BSD-3-Clause"
315+
description: "Zstandard - Fast real-time compression algorithm"
316+
homepage_url: "https://github.com/facebook/zstd"
317+
binary_artifact:
318+
url: ""
319+
hash:
320+
value: ""
321+
algorithm: ""
322+
source_artifact:
323+
url: "https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz"
324+
hash:
325+
value: "9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4"
326+
algorithm: "SHA-256"
327+
vcs:
328+
type: "Git"
329+
url: "https://github.com/facebook/zstd.git"
330+
revision: ""
331+
path: ""
332+
vcs_processed:
333+
type: "Git"
334+
url: "https://github.com/facebook/zstd.git"
335+
revision: ""
336+
path: ""
337+
is_modified: true

0 commit comments

Comments
 (0)