Subject: [bug#73522] [PATCH games-team 06/14] gnu: retroarch: Clean-up source from extraneous bundled libraries.

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 06 Oct 2024 17:12:18 +0900

Hi Liliana,

Liliana Marie Prikler <[email-masked]> writes:

> Am Sonntag, dem 06.10.2024 um 14:32 +0900 schrieb Maxim Cournoyer:
>> * gnu/packages/emulators.scm (retroarch) [source]: Add snippet
>> removing
>> unnecessary sources.
>> [license]: Add licenses of bundled sources.
>> 
>> Change-Id: I824391424bf0fa2ec3888f02535b94dea3021378
>> ---
>> 
>>  gnu/packages/emulators.scm | 45
>> +++++++++++++++++++++++++++++++++++++-
>>  1 file changed, 44 insertions(+), 1 deletion(-)
>> 
>> diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
>> index afe11caf7f..e6cf365e26 100644
>> --- a/gnu/packages/emulators.scm
>> +++ b/gnu/packages/emulators.scm
>> @@ -1587,6 +1587,43 @@ (define-public retroarch
>>         (uri (git-reference
>>               (url "https://github.com/libretro/RetroArch")
>>               (commit (string-append "v" version))))
>> +       (modules '((guix build utils)
>> +                  (ice-9 ftw)
>> +                  (srfi srfi-26)))
>> +       (snippet
>> +        #~(begin
>> +            ;; XXX: 'delete-all-but' is copied from the turbovnc
>> package.
>> +            (define (delete-all-but directory . preserve)
>> +              (define (directory? x)
>> +                (and=> (stat x #f)
>> +                       (compose (cut eq? 'directory <>) stat:type)))
>> +              (with-directory-excursion directory
>> +                (let* ((pred
>> +                        (negate (cut member <> (append '("." "..")
>> preserve))))
>> +                       (items (scandir "." pred)))
>> +                  (for-each (lambda (item)
>> +                              (if (directory? item)
>> +                                  (delete-file-recursively item)
>> +                                  (delete-file item)))
>> +                            items))))
>> +            ;; Remove as much bundled sources as possible, shaving
>> off about
>> +            ;; 17 MiB.
>> +            (delete-all-but "deps"
>> +                            "7zip"
>> +                            "SPIRV-Cross"   ;used in
>> slang_reflection.cpp
> Can we unvendor spirv-cross?

It could be done, but it'd have to be new development as their build
system doesn't currently support it.  I'll give it another try right
now, but if it becomes too much work, I'll drop it.

>> +                            "discord-rpc"   ;used in
>> network/discord.h
> Can we drop this discord thing?

Not easily, no.  I had checked and there's no switch to opt out in the
build system.

-- 
Thanks,
Maxim