Bug 281890 - multimedia/obs-studio: fix build with clang 19
Summary: multimedia/obs-studio: fix build with clang 19
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Dimitry Andric
URL:
Keywords:
Depends on:
Blocks: 280562
  Show dependency treegraph
 
Reported: 2024-10-06 10:46 UTC by Dimitry Andric
Modified: 2024-10-07 11:08 UTC (History)
0 users

See Also:
yuri: maintainer-feedback+


Attachments
multimedia/obs-studio: fix build with clang 19 (1.59 KB, patch)
2024-10-06 10:47 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer freebsd_triage 2024-10-06 10:46:29 UTC
Clang 19 has become more strict about mixing different enum types, which
results in an error building multimedia/obs-studio:

  /wrkdirs/usr/ports/multimedia/obs-studio/work/obs-studio-30.2.3/plugins/obs-outputs/flv-mux.c:659:37: error: bitwise operation between different enumeration types ('enum multitrack_type_t' and 'enum packet_type_t') [-Werror,-Wenum-enum-conversion]
    659 |                 s_w8(&s, MULTITRACKTYPE_ONE_TRACK | PACKETTYPE_METADATA);
        |                          ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~

This can be fixed by explicitly casting each enum type to uint8_t.
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2024-10-06 10:47:37 UTC
Created attachment 254046 [details]
multimedia/obs-studio: fix build with clang 19
Comment 2 Yuri Victorovich freebsd_committer freebsd_triage 2024-10-06 17:05:24 UTC
Approved.
Please commit it.
Comment 3 commit-hook freebsd_committer freebsd_triage 2024-10-07 11:00:11 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f0e9df3448bd5a567b9447dc711d0a5f0341a327

commit f0e9df3448bd5a567b9447dc711d0a5f0341a327
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-10-06 10:46:46 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-10-07 10:58:28 +0000

    multimedia/obs-studio: fix build with clang 19

    Clang 19 has become more strict about mixing different enum types, which
    results in an error building multimedia/obs-studio:

      /wrkdirs/usr/ports/multimedia/obs-studio/work/obs-studio-30.2.3/plugins/obs-outputs/flv-mux.c:659:37: error: bitwise operation between different enumeration types ('enum multitrack_type_t' and 'enum packet_type_t') [-Werror,-Wenum-enum-conversion]
        659 |                 s_w8(&s, MULTITRACKTYPE_ONE_TRACK | PACKETTYPE_METADATA);
            |                          ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~

    This can be fixed by explicitly casting each enum type to uint8_t.

    PR:             281890
    Approved by:    yuri (maintainer)
    MFH:            2024Q3

 .../files/patch-plugins_obs-outputs_flv-mux.c (new)           | 11 +++++++++++
 1 file changed, 11 insertions(+)
Comment 4 commit-hook freebsd_committer freebsd_triage 2024-10-07 11:00:12 UTC
A commit in branch 2024Q3 references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b08638f69423264c169e1dcef888eeafbdaae395

commit b08638f69423264c169e1dcef888eeafbdaae395
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-10-06 10:46:46 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-10-07 10:59:44 +0000

    multimedia/obs-studio: fix build with clang 19

    Clang 19 has become more strict about mixing different enum types, which
    results in an error building multimedia/obs-studio:

      /wrkdirs/usr/ports/multimedia/obs-studio/work/obs-studio-30.2.3/plugins/obs-outputs/flv-mux.c:659:37: error: bitwise operation between different enumeration types ('enum multitrack_type_t' and 'enum packet_type_t') [-Werror,-Wenum-enum-conversion]
        659 |                 s_w8(&s, MULTITRACKTYPE_ONE_TRACK | PACKETTYPE_METADATA);
            |                          ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~

    This can be fixed by explicitly casting each enum type to uint8_t.

    PR:             281890
    Approved by:    yuri (maintainer)
    MFH:            2024Q3

    (cherry picked from commit f0e9df3448bd5a567b9447dc711d0a5f0341a327)

 .../files/patch-plugins_obs-outputs_flv-mux.c (new)           | 11 +++++++++++
 1 file changed, 11 insertions(+)