Bug 282547 - devel/librashader: update to 0.5.1
Summary: devel/librashader: update to 0.5.1
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Robert Clausecker
URL:
Keywords:
Depends on:
Blocks: 282548
  Show dependency treegraph
 
Reported: 2024-11-04 17:01 UTC by Stefan Schlosser
Modified: 2024-11-14 08:55 UTC (History)
1 user (show)

See Also:


Attachments
update to 0.5.1 (55.48 KB, patch)
2024-11-04 17:01 UTC, Stefan Schlosser
bsdcode: maintainer-approval+
Details | Diff
update to 0.5.1 (55.49 KB, patch)
2024-11-08 14:45 UTC, Stefan Schlosser
bsdcode: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Schlosser 2024-11-04 17:01:18 UTC
Created attachment 254939 [details]
update to 0.5.1

Changes:
https://github.com/SnowflakePowered/librashader/releases/tag/librashader-v0.5.0
https://github.com/SnowflakePowered/librashader/releases/tag/librashader-v0.5.1

Version 0.5.0 bumps the ABI to 2, and is thus ABI-incompatible with versions of
librashader prior to 0.5.0. Trying to load this version of librashader will fail
if the application only supports ABI 1.

Upstream's librashader-build-script doesn't do more than to compile the package
librashader-capi and to move the resulting files around. Therefore the port uses
the standard do-build target from the ports framework by setting CARGO_FEATURES
and CARGO_BUILD_ARGS appropriately instead.

This standardization also allows us to drop the DEBUG port option. Generating a
debug build is now controlled by setting WITH_DEBUG, see also Mk/Uses/cargo.mk.

The port now only compiles the OpenGL and Vulkan runtimes by specifying the
appropriate CARGO_FEATURES. This excludes compiling the unneeded Metal and
DirectX runtimes.


The current version 140 of consumer emulators/ares is incompatible to any version of librashader >= 0.5.0. The port emulators/ares must be updated to version 141 after committing this update. I'll provide an updatepatch for emulators/ares right away.
Comment 1 Stefan Schlosser 2024-11-08 14:45:35 UTC
Created attachment 255027 [details]
update to 0.5.1

Rebased the patch after PORTREVISION bump by bug #282516.
Comment 2 Robert Clausecker freebsd_committer freebsd_triage 2024-11-11 13:03:33 UTC
Would it make sense to provide the old devel/librashader as a separate port so as to not break applications requiring the old ABI?
Comment 3 Stefan Schlosser 2024-11-11 13:21:27 UTC
(In reply to Robert Clausecker from comment #2)
> Would it make sense to provide the old devel/librashader as a separate port so as
> to not break applications requiring the old ABI?
Not really. So far the only known open-source project using librashader is the emulator system ares.
Comment 4 Robert Clausecker freebsd_committer freebsd_triage 2024-11-11 13:41:44 UTC
Thank you for the context.  Will commit your changes with my next batch.
Comment 5 Stefan Schlosser 2024-11-11 14:05:46 UTC
Thanks!
Comment 6 commit-hook freebsd_committer freebsd_triage 2024-11-14 08:45:42 UTC
A commit in branch main references this bug:

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

commit e290c5eac7c597e80be0347afd287c5df1c6ff2b
Author:     Stefan Schlosser <bsdcode@disroot.org>
AuthorDate: 2024-10-02 07:48:45 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2024-11-14 08:43:22 +0000

    devel/librashader: update to 0.5.1

    Changes:
    https://github.com/SnowflakePowered/librashader/releases/tag/librashader-v0.5.0
    https://github.com/SnowflakePowered/librashader/releases/tag/librashader-v0.5.1

    Version 0.5.0 bumps the ABI to 2, and is thus ABI-incompatible with versions of
    librashader prior to 0.5.0. Trying to load this version of librashader will fail
    if the application only supports ABI 1.

    Upstream's librashader-build-script doesn't do more than to compile the package
    librashader-capi and to move the resulting files around. Therefore the port uses
    the standard do-build target from the ports framework by setting CARGO_FEATURES
    and CARGO_BUILD_ARGS appropriately instead.

    This standardization also allows us to drop the DEBUG port option. Generating a
    debug build is now controlled by setting WITH_DEBUG, see also Mk/Uses/cargo.mk.

    The port now only compiles the OpenGL and Vulkan runtimes by specifying the
    appropriate CARGO_FEATURES. This excludes compiling the unneeded Metal and
    DirectX runtimes.

    PR:             282547
    MFH:            no (ABI break)

 devel/librashader/Makefile        |  41 +++---
 devel/librashader/Makefile.crates | 132 ++++++++++---------
 devel/librashader/distinfo        | 270 +++++++++++++++++++++-----------------
 devel/librashader/pkg-plist       |   3 +-
 4 files changed, 237 insertions(+), 209 deletions(-)
Comment 7 Robert Clausecker freebsd_committer freebsd_triage 2024-11-14 08:55:55 UTC
Thank you for your contribution.