Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 912993

Summary: [games-emulation/duckstation-9999] retroachievements USE Flag Conflicts with Non-gnutls Systems
Product: GURU Reporter: Neko-san <gentoo.qxrin>
Component: Package issuesAssignee: Haelwenn (lanodan) Monnier <contact>
Status: RESOLVED INVALID    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Neko-san 2023-08-25 09:17:45 UTC
If you have a setup that strictly relies on openssl vs its SSL alternatives (nss, gnutls, etc) setting the retroachievents flag is a *hard* block for building the package because it'll force gnutls on curl, which will thereby force you to switch entirely to gnutls, and if you set these specific USE flags for curl:
"openssl -ssl gnutls" (-ssl is just something for openssl)

Portage will then throw a fit and suggest you use backtracking (not technically necessary, of course, but not desirable)

Ideally, a compromise of this magnitude should not be required.

Reproducible: Always

Steps to Reproduce:
1. Build a system on OpenSSL
2. Add the "retroachievements" USE flag to duckstation
3. emerge duckstation
Actual Results:  
Attempt to emerge will fail, forcing an SSL ultimatum the user didn't ask for

Expected Results:  
Emerge should succeed
Comment 1 Viorel Munteanu gentoo-dev 2023-08-25 10:06:42 UTC
Not sure this is really a bug :/  Did you test it, does it actually work with curl[openssl]?
Comment 2 Neko-san 2023-08-25 10:23:09 UTC
It wasn't possible to do so.
The moment I enabled the retroachievements use flag, portage immediately started complaining because the flag requires gnutls but curl requires that only one SSL provider is used: it doesn't permit you to have it both ways.
And if other packages don't have support for gnutls but do with OpenSSL, which they were built upon via curl (a good example is dev-cpp/coeurl::guru), you can see where that suddenly becomes an issue
Comment 3 Neko-san 2023-08-25 22:18:15 UTC
Sorry about this; digging deeper, I found that curl has some explicit flags for itself that aren't mentioned on the USE flags webpage. This specific setup was required for building with retroachievements:

openssl gnutls -nss -curl_ssl_mbedtls -curl_ssl_nss -curl_ssl_openssl -curl_ssl_rustls