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

pipewire: Add recipe #22991

Open
wants to merge 21 commits into
base: master
Choose a base branch
from
Open

pipewire: Add recipe #22991

wants to merge 21 commits into from

Conversation

jwillikers
Copy link
Contributor

@jwillikers jwillikers commented Mar 5, 2024

PipeWire is a project that aims to greatly improve handling of audio and video under Linux.

Fixes #18533.

Requires the following for optional ffmpeg support to be enabled.
This support won't be enabled by default, so it shouldn't be required to merge this PR.
Fyi, the support for ffmpeg should never be enabled by default because it will cause circular dependencies since ffmpeg requires sdl which now requires pipewire.

@conan-center-bot

This comment has been minimized.

@jwillikers jwillikers force-pushed the pipewire branch 2 times, most recently from 0213c18 to 86e06ac Compare March 5, 2024 19:11
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@jwillikers jwillikers force-pushed the pipewire branch 2 times, most recently from 488a110 to 90cdca1 Compare March 5, 2024 23:54
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@jwillikers jwillikers force-pushed the pipewire branch 2 times, most recently from 46fe823 to a65f746 Compare March 7, 2024 17:50
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

danimtb
danimtb previously approved these changes Jul 5, 2024
@conan-center-bot

This comment has been minimized.

Version 1.2.1 includes threads.h, introduced in glibc 2.28.
The header doesn't exist in CCI.
@conan-center-bot

This comment has been minimized.

Comment on lines +85 to +86
if os.getenv("CONAN_CENTER_BUILD_SERVICE") is not None:
self.options.with_xfixes = False
Copy link
Contributor

Choose a reason for hiding this comment

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

A source-code comment explaining the purpose of this would be nice.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks!

Comment on lines 183 to 189
for dependency, _value in self.dependencies.direct_host.items():
if dependency.ref.name == "linux-headers-generic":
for includedir in self.dependencies.direct_host[
"linux-headers-generic"
].cpp_info.includedirs:
tc.c_args.append(f"-I{includedir}")
break
Copy link
Contributor

Choose a reason for hiding this comment

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

Are the extra for loops really necessary?

Suggested change
for dependency, _value in self.dependencies.direct_host.items():
if dependency.ref.name == "linux-headers-generic":
for includedir in self.dependencies.direct_host[
"linux-headers-generic"
].cpp_info.includedirs:
tc.c_args.append(f"-I{includedir}")
break
for includedir in self.dependencies["linux-headers-generic"].cpp_info.includedirs:
tc.c_args.append(f"-I{includedir}")

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For some reason, I think that I had trouble with this a while ago. Oh, it came back to me. I did it this way because otherwise, using a platform_requires for linux-headers-generic will cause this to fail.

jwillikers and others added 2 commits July 15, 2024 10:50
Comment on lines 286 to 291
self.runenv_info.define(
"PIPEWIRE_MODULE_DIR",
os.path.join(
self.package_folder, "lib", f"pipewire-{libpipewire_api_version}"
),
)
Copy link
Contributor

Choose a reason for hiding this comment

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

Absolute nitpicking, but could you set the column limit to 100 or 120 for black, please?
The line wrapping is a bit excessive and only hurts readability, imo.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I reformatted with a longer line length with Ruff. It would be great to have formatting configured for the repository so no one has to think about this kind of thing.

Copy link
Contributor

Choose a reason for hiding this comment

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

If your IDE supports .editorconfig then it is configured

max_line_length = 200

@conan-center-bot conan-center-bot added Failed Version conflict There is a version conflict when solving the dependencies graph labels Sep 6, 2024
@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 21 (8aea54c72e2f730e675a4037507484acb357cd5e):

  • pipewire/1.0.7:
    Built 4 packages out of 11 (All logs)

Conan v2 pipeline ❌

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

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 21 (8aea54c72e2f730e675a4037507484acb357cd5e):

  • pipewire/1.0.7:
    Error running command conan graph info --requires pipewire/1.0.7@#235ff32ee9e76ce5d6a7eb82f2be84dc --build pipewire/1.0.7@#235ff32ee9e76ce5d6a7eb82f2be84dc -f json -pr:h /home/conan/workspace/prod-v2/bsr/86582/cbdfb/profile_linux_11_libstdcpp11_17_gcc_release_64.-shared-False.txt -pr:b /home/conan/workspace/prod-v2/bsr/86582/cbdfb/profile_linux_11_libstdcpp11_17_gcc_release_64..txt:
    ======== Computing dependency graph ========
    linux-headers-generic/6.5.9: Not found in local cache, looking in remotes...
    linux-headers-generic/6.5.9: Checking remote: conan-center
    linux-headers-generic/6.5.9: Downloaded recipe revision e8c99ef349c73b922e1cc4a65beefaf5
    glib/2.78.3: Not found in local cache, looking in remotes...
    glib/2.78.3: Checking remote: conan-center
    glib/2.78.3: Downloaded recipe revision 0d214f34a22088571a43892d3fd41093
    zlib/1.3.1: Not found in local cache, looking in remotes...
    zlib/1.3.1: Checking remote: conan-center
    zlib/1.3.1: Downloaded recipe revision f52e03ae3d251dec704634230cd806a2
    libffi/3.4.4: Not found in local cache, looking in remotes...
    libffi/3.4.4: Checking remote: conan-center
    libffi/3.4.4: Downloaded recipe revision 72cccac6139293b6e97ec9cd676547ff
    pcre2/10.42: Not found in local cache, looking in remotes...
    pcre2/10.42: Checking remote: conan-center
    pcre2/10.42: Downloaded recipe revision 576680686b88a4dadf6d382d6d6351d9
    bzip2/1.0.8: Not found in local cache, looking in remotes...
    bzip2/1.0.8: Checking remote: conan-center
    bzip2/1.0.8: Downloaded recipe revision d00dac990f08d991998d624be81a9526
    libelf/0.8.13: Not found in local cache, looking in remotes...
    libelf/0.8.13: Checking remote: conan-center
    libelf/0.8.13: Downloaded recipe revision 4f70a3555809ae50cc8add44f0f84288
    autoconf/2.71: Not found in local cache, looking in remotes...
    autoconf/2.71: Checking remote: conan-center
    autoconf/2.71: Downloaded recipe revision f9307992909d7fb3df459340f1932809
    m4/1.4.19: Not found in local cache, looking in remotes...
    m4/1.4.19: Checking remote: conan-center
    m4/1.4.19: Downloaded recipe revision b38ced39a01e31fef5435bc634461fd2
    gnu-config/cci.20210814: Not found in local cache, looking in remotes...
    gnu-config/cci.20210814: Checking remote: conan-center
    gnu-config/cci.20210814: Downloaded recipe revision dc430d754f465e8c74463019672fb97b
    libmount/2.39: Not found in local cache, looking in remotes...
    libmount/2.39: Checking remote: conan-center
    libmount/2.39: Downloaded recipe revision 8a95198b2547a8ca7685eb7a1d002903
    Graph root
        cli
    Requirements
        bzip2/1.0.8#d00dac990f08d991998d624be81a9526 - Downloaded (conan-center)
        glib/2.78.3#0d214f34a22088571a43892d3fd41093 - Downloaded (conan-center)
        libelf/0.8.13#4f70a3555809ae50cc8add44f0f84288 - Downloaded (conan-center)
        libffi/3.4.4#72cccac6139293b6e97ec9cd676547ff - Downloaded (conan-center)
        libmount/2.39#8a95198b2547a8ca7685eb7a1d002903 - Downloaded (conan-center)
        linux-headers-generic/6.5.9#e8c99ef349c73b922e1cc4a65beefaf5 - Downloaded (conan-center)
        pcre2/10.42#576680686b88a4dadf6d382d6d6351d9 - Downloaded (conan-center)
        pipewire/1.0.7#235ff32ee9e76ce5d6a7eb82f2be84dc - Cache
        zlib/1.3.1#f52e03ae3d251dec704634230cd806a2 - Downloaded (conan-center)
    Build requirements
        autoconf/2.71#f9307992909d7fb3df459340f1932809 - Downloaded (conan-center)
        gnu-config/cci.20210814#dc430d754f465e8c74463019672fb97b - Downloaded (conan-center)
        m4/1.4.19#b38ced39a01e31fef5435bc634461fd2 - Downloaded (conan-center)
    Resolved version ranges
        zlib/[>=1.2.11 <2]: zlib/1.3.1
    ERROR: Version conflict: Conflict between libselinux/3.6 and libselinux/3.5 in the graph.
    Conflict originates from glib/2.78.3
    
    Run 'conan graph info ... --format=html > graph.html' and open 'graph.html' to inspect the conflict graphically.
    

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Failed Version conflict There is a version conflict when solving the dependencies graph
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[request] <LIBRARY-NAME>/<LIBRARY-VERSION>
7 participants