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

Added libqasm recipe #17719

Merged
merged 91 commits into from
May 9, 2024
Merged

Added libqasm recipe #17719

merged 91 commits into from
May 9, 2024

Conversation

rturrado
Copy link
Contributor

@rturrado rturrado commented May 26, 2023

Specify library name and version: libqasm/0.6.5

libqasm is a library for handling cQASM files using C++ or Python (https://github.com/QuTech-Delft/libqasm, https://libqasm.readthedocs.io/en/latest/).
It is used by OpenQL, a framework for high-level quantum programming in C++/Python (https://github.com/QuTech-Delft/OpenQL, https://openql.readthedocs.io/en/latest/).
Both libqasm and OpenQL are developed by QuTech-Delft (TU Delft), for which I work as a software engineer.
It is a new addition to ConanCenter.
I basically want OpenQL users to be able to use libqasm in a simple way (i.e. without needing to install libqasm's dependencies manually).


  • I've read the contributing guidelines.
  • I've used a recent Conan client version close to the currently deployed.
    I've used conan 2.0.4.
  • I've tried at least one configuration locally with the conan-center hook activated.
    I've tried building both in Linux and Windows in release and debug modes. These are the commands I use in each platform:
    conan create all/conanfile.py --version 0.5.0
    conan create all/conanfile.py --version 0.5.0 -o libqasm/*:build_type=Debug

…20_compilation_errors.patch, and updated conandata.yml as suggested in the pull request review.
…sn't allow to use 'using' type aliases)."

This reverts commit 73c9294.
…fix_cpp_20_compilation_errors.patch, and updated conandata.yml as suggested in the pull request review."

This reverts commit 6e1cafe.
@CLAassistant
Copy link

CLAassistant commented May 26, 2023

CLA assistant check
All committers have signed the CLA.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

rturrado added 2 commits May 28, 2023 01:19
…o 3.20 (for cxx_std_23).

conandata.yml: added '0.5.1' to sources.
conanfile.py:
- layout: 'src_folder' set to '.'.
- source: get sources from conandata.yml.
- validate: updated to be compliant with Conan 1.x.
@conan-center-bot

This comment has been minimized.

@rturrado
Copy link
Contributor Author

rturrado commented May 2, 2024

@SpaceIm @SSE4 @RubenRBS @uilianries anyone please do a second code review? Thanks!

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.

Looking good, only small details.

recipes/libqasm/all/conanfile.py Outdated Show resolved Hide resolved
recipes/libqasm/all/conanfile.py Show resolved Hide resolved
recipes/libqasm/all/conanfile.py Show resolved Hide resolved
@rturrado
Copy link
Contributor Author

rturrado commented May 3, 2024

Looking good, only small details.

Many thanks @uilianries!

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@rturrado rturrado requested review from uilianries and valgur May 3, 2024 10:13
uilianries
uilianries previously approved these changes May 3, 2024
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.

LGTM

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.

Hi! Thanks a lot, I have a few last minute change requests, but other than that it looks finally ready :)

I have also a request. The library seems aware of wasm. Have you locally tested it in such arch? If so, could you please provide compilation logs of the default build (So just conan create ...) and shared? (conan create ... -o="*:shared=True")? Thanks a lot! It helps tremendously with future maintenance and traceability

recipes/libqasm/all/conanfile.py Outdated Show resolved Hide resolved
recipes/libqasm/all/conanfile.py Outdated Show resolved Hide resolved
@rturrado
Copy link
Contributor Author

rturrado commented May 5, 2024

Hi! Thanks a lot, I have a few last minute change requests, but other than that it looks finally ready :)

I have also a request. The library seems aware of wasm. Have you locally tested it in such arch? If so, could you please provide compilation logs of the default build (So just conan create ...) and shared? (conan create ... -o="*:shared=True")? Thanks a lot! It helps tremendously with future maintenance and traceability

Hi @RubenRBS. I am not sure if we have what you ask for because we only cross-compile for emscripten/WASM.

libqasm WASM binaries are already being tested/used in the future Quantum Inspire 2 website.

You can find the binaries for the latest libqasm release here.

Should you want to build them and run them:

$ curl -fsSL https://deno.land/install.sh | sh  # install deno
$ git clone https://github.com/QuTech-Delft/libqasm.git  # clone libqasm
$ cd libqasm
libqasm$ conan build . -pr=conan/profiles/emscripten -pr:b=conan/profiles/release -b missing  # cross-compile for emscripten
libqasm$ mv build/Release/emscripten/cqasm_emscripten.{,m}js  # rename js file to mjs (because it's an ES6 module)
libqasm$ cd emscripten
libqasm/emscripten$ deno run -A test_cqasm.ts  # test the WASM binaries

You also have GitHub logs for the conan build above here.

And, for the shared build, please find attached the logs: conan__build__pr_emscripten__pr_b_release__o_shared_True__b_missing.txt

I hope this helps!

@conan-center-bot

This comment has been minimized.

@rturrado rturrado requested review from AbrilRBS, valgur and uilianries May 5, 2024 13:05
@rturrado
Copy link
Contributor Author

rturrado commented May 7, 2024

@RubenRBS sorry for the stalking haha but I'm just so much willing this to go forward. Thanks!

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 41 (91a912ddaa81179946652e64c340c249c6af46f3):

  • libqasm/0.6.5:
    All packages built successfully! (All logs)

Conan v2 pipeline ✔️

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

All green in build 41 (91a912ddaa81179946652e64c340c249c6af46f3):

  • libqasm/0.6.5:
    All packages built successfully! (All logs)

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.

Thanks a lot for taking the time to create the recipe, we really appreciate it :)

@conan-center-bot conan-center-bot merged commit c49507b into conan-io:master May 9, 2024
13 checks passed
@rturrado
Copy link
Contributor Author

rturrado commented May 9, 2024

Thanks a lot for taking the time to create the recipe, we really appreciate it :)

You won't believe me but I've been dreaming about this moment since more than one year ago. 😄

Long live the Conan team!

@rturrado rturrado deleted the libqasm branch October 9, 2024 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.