From 4b963c9ccca25db75e430402eb9a0da6bc9b714d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 29 Sep 2024 13:48:07 +0900 Subject: gnu: Add libretro-slang-shaders. * gnu/packages/emulators.scm (libretro-slang-shaders): New variable. Change-Id: I72cba3abafc8b05789d5d7c506223af4510e0219 --- gnu/packages/emulators.scm | 702 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 702 insertions(+) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 21570ada74..052801fa87 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1631,6 +1631,708 @@ recognize input devices and automatically setup default mappings between the physical device and the RetroPad virtual controller.") (license license:expat))) +(define-public libretro-slang-shaders + ;; There are no releases; use the latest commit. + + ;; BEWARE: Any upgrade to this package must have the sources carefully + ;; audited for newly added items, with the snippet allow-list updated + ;; accordingly, due to various items lacking license information or being + ;; non-free (see: https://github.com/libretro/slang-shaders/issues/150). + (let ((commit "a8e35920c5a53448bf6ce78dfe4575485a20a41f") + (revision "0")) + (package + (name "libretro-slang-shaders") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libretro/slang-shaders/") + (commit commit))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + (use-modules (guix build utils) + (ice-9 ftw) + (srfi srfi-1) + (srfi srfi-26)) + (define (delete-all-but . preserve) + ;; Walk the file tree and delete everything except the paths + ;; listed in PRESERVE. Directories listed PRESERVE will cause + ;; their whole contents to be preserved. + (let ((preserve (map (compose (cut string-trim-right <> #\/) + (cut string-append "./" <>)) + preserve))) + (file-system-fold + (lambda (path stat result) ;enter + (or (any (lambda (x) + (or (string-prefix? path x) + (string-prefix? x path))) + preserve) + (begin + (delete-file-recursively path) + #f))) + (lambda (path stat result) ;leaf (file) + (unless (any (cut string-prefix? <> path) preserve) + (delete-file path))) + (const #t) ;down (directory) + (const #t) ;up (directory) + (lambda (path stat result) ;skip + (when (file-exists? path) + (error "could not enter unreadable directory" path))) + (lambda (path stat errno result) ;error + (error "error processing" path (strerror errno))) + 0 + "."))) + + ;; This is an allow-list of the shaders explicitly licensed as + ;; free software. + (delete-all-but + "anamorphic/shaders/anamorphic.slang" ;expat + "anamorphic/anamorphic.slangp" + "annotated_passthru.slang" ;public license + "anti-aliasing/aa-shader-4.0-level2.slangp" + "anti-aliasing/aa-shader-4.0.slangp" + "anti-aliasing/shaders/aa-shader-4.0.slang" ;gpl2+ + "anti-aliasing/shaders/aa-shader-4.0-level2" ;gpl2+ + "anti-aliasing/shaders/advanced-aa.slang" ;gpl2+ + "anti-aliasing/advanced-aa.slangp" + "anti-aliasing/shaders/reverse-aa-post3x" ;expat + "anti-aliasing/shaders/reverse-aa.slang" ;bsd-2 + "anti-aliasing/shaders/smaa/" ;unlicense + ;; The following presets refder to stock.slang, which license is + ;; unknown. + ;; "anti-aliasing/smaa+linear.slangp" + ;; "anti-aliasing/smaa+sharpen.slangp" + ;; "anti-aliasing/smaa.slangp" + "auto-box/" ;public domain + "bezel/koko-aio/" ;gpl3+ + ;; Mega_Bezel makes use of the include/compat_macros.inc file, + ;; which carries no license. + ;; "bezel/Mega_Bezel/" ;gpl3+ + "bfi/" ;public domain + "blurs/shaders/dual_filter/" ;cc0 + "blurs/shaders/gauss_4tap/" ;cc0 + "blurs/gauss_4tap.slangp" + "blurs/shaders/gaussian_blur_filtering" ;gpl2+ + "blurs/gaussian_blur_2_pass-sharp.slangp" + "blurs/gaussian_blur-sharp.slangp" + "blurs/gaussian_blur_2_pass.slangp" + "blurs/gaussian_blur.slangp" + "blurs/shaders/gizmo-blur.slang" ;gpl2+ + "blurs/gizmo-composite-blur.slangp" + "blurs/shaders/sharpsmoother.slang" ;gpl2+ + "blurs/sharpsmoother.slangp" + "blurs/shaders/smart-blur.slang" ;expat + "blurs/smart-blur.slangp" ;expat + ;; The .slang shaders of royale, itself Expat, all reference + ;; include/compat_macros.inc, which is not licensed thus not + ;; included. + ;;"blurs/shaders/royale" ;expat + "border/shaders/bigblur.slang" ;public domain + "border/shaders/autocrop-koko" ;gpl3+ + "border/autocrop-koko.slangp" + "border/autocrop-koko.txt" + "border/textures" ;data + "border/shaders/imgborder-gbp.slang" ;<15 LOC + "border/shaders/imgborder.inc" ;public domain + "border/shaders/imgborder-sgba.slang" ;<15 LOC + "border/shaders/imgborder-sgb.slang" ;<15 LOC + "border/shaders/imgborder.slang" ;<15 LOC + "border/gameboy-player/gameboy-player-crt-geom-1x.slangp" + ;;"border/gameboy-player/gameboy-player-crt-royale.slangp" + "border/gameboy-player/gameboy-player-gba-color.slangp" + "border/gameboy-player/gameboy-player.png" ;data + "border/gameboy-player/gameboy-player.slangp" + "border/gameboy-player/gameboy-player-tvout-gba-color+interlacing.slangp" + "border/gameboy-player/gameboy-player-tvout-gba-color.slangp" + "border/gameboy-player/gameboy-player-tvout+interlacing.slangp" + "border/gameboy-player/gameboy-player-tvout.slangp" + "border/gameboy-player/sample-borders/" ;data + "border/handheld-nebula/handheld-nebula-gba+crt-consumer.slangp" + "border/handheld-nebula/handheld-nebula-gba+dot.slangp" + "border/handheld-nebula/handheld-nebula-gba.png" ;data + "border/handheld-nebula/handheld-nebula-gba.slangp" + "border/handheld-nebula/handheld-nebula-gb+crt-consumer.slangp" + "border/handheld-nebula/handheld-nebula-gb+dot.slangp" + "border/handheld-nebula/handheld-nebula-gb.png" ;data + "border/handheld-nebula/handheld-nebula-gb.slangp" + "border/handheld-nebula/handheld-nebula-gg+crt-consumer.slangp" + "border/handheld-nebula/handheld-nebula-gg+dot.slangp" + "border/handheld-nebula/handheld-nebula-gg.png" ;data + "border/handheld-nebula/handheld-nebula-gg.slangp" + "border/handheld-nebula/handheld-nebula-template.png" ;data + "border/imgborder.slangp" + "cel/shaders/advcartoon.slang" ;gpl (unknown version) + "cel/advcartoon.slangp" + "crt/shaders/Advanced_CRT_shader_whkrmrgks0.slang" ;gpl3+ + "crt/advanced_crt_whkrmrgks0.slangp" + "crt/shaders/cathode-retro" ;expat + ;;"crt/cathode-retro_no-signal.slangp" ;uses stock.slang + "crt/shaders/crt-1tap.slang" ;cc0 + "crt/shaders/crt-aperture.slang" ;gpl (unknown version) + "crt/crt-aperture.slangp" + "crt/shaders/crt-blurPi.slang" ;expat + "crt/crt-blurPi-sharp.slangp" + "crt/crt-blurPi-soft.slangp" + "crt/shaders/crt-caligari.slang" ;gpl2+ + "crt/crt-caligari.slangp" + "crt/shaders/crt-cgwg-fast.slang" ;gpl2+ + "crt/crt-cgwg-fast.slangp" + "crt/shaders/crt-consumer.slang" ;gpl2+ + "crt/shaders/crt-consumer" + "crt/crt-consumer.slangp" + "crt/shaders/crt-Cyclon.slang" ;gpl2+ + "crt/crt-Cyclon.slangp" + "crt/shaders/crt-easymode.slang" ;gpl3+ (latest assumed) + "crt/shaders/crt-easymode-halation" ;gpl3+ (latest assumed) + "crt/crt-easymode-halation.slangp" + "crt/crt-easymode.slangp" + "crt/shaders/crt-gdv-mini.slang" ;gpl2+ + "crt/shaders/crt-gdv-mini-ultra.slang" ;gpl2+ + "crt/crt-gdv-mini.slangp" + "crt/crt-gdv-mini-ultra-trinitron.slangp" + "crt/shaders/crt-geom-mini.slang" ;gpl2+ + "crt/shaders/crt-geom.slang" ;gpl2+ + "crt/crt-geom-deluxe.slangp" + "crt/crt-geom-mini.slangp" + "crt/crt-geom.slangp" + "crt/crt-geom-tate.slangp" + "crt/shaders/crt-interlaced-halation" ;gpl2+ + "crt/shaders/crt-lottes-fast.slang" ;unlicense + "crt/crt-lottes-fast.slangp" + "crt/shaders/crt-lottes-multipass" ;public domain + "crt/shaders/crt-lottes.slang" + "crt/ crt-lottes.slangp" + ;;"crt/shaders/crt-maximus-royale" ;gpl2+ + "crt/shaders/crt-nobody.slang" ;expat + "crt/crt-nobody.slangp" + "crt/shaders/crt-pi.slang" ;gpl2+ + "crt/crt-pi.slangp" + "crt/shaders/crt-pocket.slang" ;gpl2+ + "crt/crt-pocket.slangp" + "crt/shaders/crt-potato" ;gpl3+ + "crt/crt-potato-BVM.slangp" + "crt/crt-potato-cool.slangp" + "crt/crt-potato-warm.slangp" + "crt/shaders/crt-resswitch-glitch-koko.slang" ;gpl3+ + "crt/crt-resswitch-glitch-koko.slangp" + ;; crt-royale relies on royale, which pulls in the non-free + ;; include/compat_macros.h. + ;; "crt/shaders/crt-royale" ;gpl2+ + ;; "crt/crt-royale-fake-bloom-intel.slangp" + ;; "crt/crt-royale-fake-bloom.slangp" + ;; "crt/crt-royale-fast.slangp" "crt/crt-royale-intel.slangp" + ;; "crt/crt-royale.slangp" + "crt/shaders/crtsim" ;cc0 + "crt/crtsim.slangp" + "crt/shaders/crt-simple.slang" ;gpl2+ + "crt/crt-simple.slangp" + "crt/shaders/crt-super-xbr" ;expat + "crt/crt-super-xbr.slangp" + "crt/shaders/dotmask.slang" ;gpl3+ (latest assumed) + "crt/shaders/geom-deluxe" ;gpl2+ + "crt/shaders/gizmo-crt.slang" ;gpl2+ + "crt/gizmo-crt.slangp" + "crt/shaders/gizmo-slotmask-crt.slang" ;gpl2+ + "crt/gizmo-slotmask-crt.slangp" + "crt/shaders/GritsScanlines" ;public domain + ;;"crt/GritsScanlines.slangp" ;uses stock.slang + "crt/shaders/gtu-v050" ;gpl3 + "crt/gtu-v050.slangp" + "crt/shaders/guest" ;gpl2+ + "crt/crt-guest-advanced-fastest.slangp" + ;; The following crt-guest-advanced presets require + ;; 'stock.slang', which license is unknown. + ;; "crt/crt-guest-advanced-fast.slangp" + ;; "crt/crt-guest-advanced-hd.slangp" + ;; "crt/crt-guest-advanced-ntsc.slangp" + ;; "crt/crt-guest-advanced.slangp" + "crt/shaders/hyllian" ;expat + "crt/crt-hyllian-3d.slangp" + "crt/crt-hyllian-fast.slangp" + "crt/crt-hyllian-fast.slangp" + "crt/shaders/mame_hlsl" ;bsd-3 + "crt/mame_hlsl.slangp" + "crt/shaders/moire-resolve.slang" ;public domain + "crt/shaders/newpixie" ;mit or public domain + "crt/newpixie-crt.slangp" + "crt/shaders/newpixie-mini" ;mit or public domain + "crt/newpixie-mini.slangp" + "crt/shaders/phosphorlut/scanlines-interlace-linearize.slang" ;public domain + "crt/shaders/rt_curvature" ;cc0 + "crt/ray_traced_curvature_append.slangp" + "crt/shaders/torridgristle/Brighten.slang" ;public domain + "crt/shaders/torridgristle/Candy-Bloom.slang" ;public domain + "crt/shaders/torridgristle/ScanlineSimple.slang" ;public domain + "crt/shaders/torridgristle/sunset-gaussian-horiz.slang" ;public domain + "crt/shaders/torridgristle/sunset-gaussian-vert.slang" ;public domain + "crt/shaders/tvout-tweaks.slang" ;gpl3 + "crt/tvout-tweaks.slangp" + "crt/shaders/zfast_crt" ;gpl2+ + "crt/zfast-crt-composite.slangp" + "crt/zfast-crt-curvature.slangp" + "crt/zfast-crt-geo.slangp" + "crt/zfast-crt-hdmask.slangp" + "crt/zfast-crt.slangp" + "deblur/shaders/deblur-luma.slang" ;gpl2+ + "deblur/deblur-luma.slangp" + "deblur/shaders/deblur.slang" ;gpl2+ + "deblur/deblur.slangp" + "denoisers/shaders/bilateral-horizontal.slang" ;gpl2+ + "denoisers/shaders/bilateral.slang" ;gpl2+ + "denoisers/bilateral.slangp" + "denoisers/shaders/bilateral-vertical.slang" ;gpl2+ + "denoisers/bilateral-2p.slangp" + "denoisers/shaders/fast-bilateral.slang" ;expat + "denoisers/fast-bilateral.slangp" + "denoisers/crt-fast-bilateral-super-xbr.slangp" + "denoisers/shaders/median_3x3.slang" ;bsd-2 + "denoisers/median_3x3.slangp" + "denoisers/shaders/median_5x5.slang" ;bsd-2 + "denoisers/median_5x5.slangp" + "dithering/shaders/bayer_4x4.slang" ;gpl2+ + "dithering/bayer_4x4.slangp" + "dithering/shaders/blue_noise.slang" ;gpl2+ + "dithering/shaders/blue_noise" + "dithering/blue_noise.slangp" + "dithering/shaders/blue_noise_dynamic.slang" ;gpl2+ + "dithering/blue_noise_dynamic_4Bit.slangp" + "dithering/blue_noise_dynamic_monochrome.slangp" + "dithering/shaders/cbod-v1-pass1.slang" ;bsd-2 + "dithering/shaders/cbod-v1-pass2.slang" ;bsd-2 + "dithering/cbod_v1.slangp" + "dithering/shaders/checkerboard-dedither-pass1.slang" ;expat + "dithering/shaders/checkerboard-dedither-pass2.slang" ;expat + "dithering/shaders/checkerboard-dedither-pass3.slang" + "dithering/shaders/gendither.slang" ;gpl2+ + "dithering/gendither.slangp" + "dithering/shaders/g-sharp_resampler.slang" ;gpl2+ + "dithering/g-sharp_resampler.slangp" + "dithering/shaders/jinc2-dedither.slang" ;gpl2+ + "dithering/jinc2-dedither.slangp" + "dithering/shaders/sgenpt-mix/sgenpt-mix-pass1.slang" ;expat + "dithering/shaders/sgenpt-mix/sgenpt-mix-pass2.slang" ;expat + "dithering/shaders/sgenpt-mix/sgenpt-mix-pass3.slang" ;expat + "dithering/shaders/sgenpt-mix/sgenpt-mix-pass4.slang" ;expat + "dithering/shaders/sgenpt-mix/sgenpt-mix-pass5.slang" ;expat + "dithering/shaders/sgenpt-mix.slang" ;expat + "dithering/sgenpt-mix.slangp" + "downsample/shaders/drez-g-sharp_resampler.slang" ;gpl2+ + "downsample/drez/" + "downsample/drez_1x.slangp" + "downsample/shaders/mixed-res/cheap-sharpen-tweaked.slang" ;expat + "downsample/shaders/mixed-res/hires-tagger.slang" ;expat + "edge-smoothing/ddt/shaders/cut.slang" ;expat + "edge-smoothing/ddt//cut.slangp" + "edge-smoothing/ddt/shaders/ddt-extended.slang" ;expat + "edge-smoothing/ddt/ddt-extended.slangp" + "edge-smoothing/ddt/shaders/ddt-jinc.slang" ;gpl2+ + "edge-smoothing/ddt/ddt-jinc.slangp" + "edge-smoothing/ddt/shaders/ddt.slang" ;expat + "edge-smoothing/ddt/ddt.slangp" + "edge-smoothing/ddt/shaders/ddt-waterpaint.slang" ;expat + "edge-smoothing/ddt/shaders/ddt-xbr-lv1.slang" ;expat + "edge-smoothing/ddt/ddt-xbr-lv1.slangp" + "edge-smoothing/fsr/shaders" ;expat & unlicense + "edge-smoothing/fsr/fsr-easu.slangp" + "edge-smoothing/fsr/fsr.slangp" + ;; hqx presets require stock.slang which has unknown license. + ;; "edge-smoothing/hqx" ;expat and lgpl2.1+ + "edge-smoothing/hqx/resources" ;data + "edge-smoothing/hqx/shaders" ;expat and lgpl2.1+ + "edge-smoothing/nedi/" ;gpl3+ and expat + "edge-smoothing/nnedi3/" ;gpl3+ and gpl2+ + "edge-smoothing/omniscale/" ;expat + "edge-smoothing/sabr/" ;gpl2+ + "edge-smoothing/scalefx/" ;expat + "edge-smoothing/scalehq/shaders/4xScaleHQ.slang" ;gpl2+ + "edge-smoothing/scalenx/shaders/mmpx.slang" ;expat + "edge-smoothing/scalenx/mmpx.slangp" + "edge-smoothing/scalenx/shaders/scale2xplus.slang" ;gpl3+ (latest assumed) + "edge-smoothing/scalenx/scale2xplus.slangp" + "edge-smoothing/scalenx/shaders/scale2x.slang" ;gpl3+ (latest assumed) + "edge-smoothing/scalenx/scale2x.slangp" + "edge-smoothing/scalenx/shaders/scale3x.slang" ;gpl3+ (latest assumed) + "edge-smoothing/scalenx/scale3x.slangp" + "edge-smoothing/xbr/shaders/super-xbr/" ;expat + "edge-smoothing/xbr/shaders/xbr-lv1-standalone.slang" ;expat + "edge-smoothing/xbr/shaders/xbr-lv2-hd.slang" ;expat + "edge-smoothing/xbr/shaders/xbr-lv2-hd.slang" ;expat + "edge-smoothing/xbr/shaders/xbr-lv2-multipass/" ;expat + "edge-smoothing/xbr/shaders/xbr-lv2-standalone.slang" ;expat + "edge-smoothing/xbr/shaders/xbr-lv3-multipass/" ;expat + "edge-smoothing/xbr/shaders/xbr-lv3-standalone.slang" ;expat + "edge-smoothing/xbr/shaders/xbr-lv4-multipass/" ;expat + "edge-smoothing/xbr/other presets/shaders/4xbr-hybrid-crt.slang" ;expat + "edge-smoothing/xbr/other presets/4xbr-hybrid-crt.slangp" + "edge-smoothing/xbr/other presets/shaders/super-xbr/" ;expat + "edge-smoothing/xbr/other presets/shaders/xbr-hydrid/" ;gpl2+ + "edge-smoothing/xbr/other presets/xbr-lv1-standalone.slangp" + "edge-smoothing/xbr/other presets/xbr-lv2-hd.slangp" + "edge-smoothing/xbr/other presets/xbr-lv2-standalone.slangp" + "edge-smoothing/xbr/other presets/xbr-lv3-9x-standalone.slangp" + "edge-smoothing/xbr/other presets/xbr-lv3-standalone.slangp" + "edge-smoothing/xbrz/shaders/" ;expat + "edge-smoothing/xbrz/2xbrz-linear.slangp" + "edge-smoothing/xbrz/xbrz-freescale.slangp" + "edge-smoothing/xsal/shaders/" ;gpl2+ + "edge-smoothing/xsal/2xsal-level2-crt.slangp" + "edge-smoothing/xsal/2xsal.slangp" + "edge-smoothing/xsal/4xsal-level2-crt.slangp" + "edge-smoothing/xsoft/shaders/" ;gpl2+ + "film/shaders/film-grain.slang" ;cc-by3.0 + "film/film-grain.slangp" + "gpu/" ;gpl2+ + "handheld/shaders/authentic_gbc/" ;cc0 + "handheld/authentic_gbc.slangp" + "handheld/shaders/bevel.slang" ;gpl2+ + "handheld/bevel.slangp" + "handheld/shaders/color/" ;public domain + "handheld/nds-color.slangp" + "handheld/NSO-gba-color.slangp" + "handheld/NSO-gbc-color.slangp" + "handheld/palm-color.slangp" + "handheld/psp-color.slangp" + "handheld/gba-color.slangp" + "handheld/gbc-color.slangp" + "handheld/gbc-dev.slangp" + "handheld/gbc-gambatte-color.slangp" + "handheld/SP101-color.slangp" + "handheld/SwitchOLED-color.slangp" + "handheld/vba-color.slangp" + "handheld/shaders/dot.slang" ;public domain + "handheld/dot.slangp" + "handheld/shaders/ds-hybrid-view.slang" ;public domain + "handheld/shaders/gameboy/" ;gpl3+ + "handheld/gameboy-advance-dot-matrix.slangp" + "handheld/gameboy-color-dot-matrix.slangp" + "handheld/gameboy-color-dot-matrix-white-bg.slangp" + "handheld/gameboy-dark-mode.slangp" + "handheld/gameboy-light-mode.slangp" + "handheld/gameboy-light.slangp" + "handheld/gameboy-pocket-high-contrast.slangp" + "handheld/gameboy-pocket.slangp" + "handheld/gameboy.slangp" + "handheld/shaders/gbc_pokemon_modernizer.slang" ;public domain + "handheld/shaders/lcd1x_nds.slang" ;gpl2+ + "handheld/lcd1x_nds.slangp" + "handheld/shaders/lcd1x_psp.slang" ;gpl2+ + "handheld/lcd1x_psp.slangp" + "handheld/shaders/lcd1x.slang" ;gpl2+ + "handheld/lcd1x.slangp" + "handheld/shaders/lcd3x.slang" ;public domain + "handheld/ lcd3x.slangp" + "handheld/shaders/lcd-shader/" ;gpl3+ + "handheld/lcd-shader.slangp" + "handheld/shaders/mgba/" ;mpl2.0 + "handheld/agb001-gba-color-motionblur.slangp" + "handheld/ags001-gba-color-motionblur.slangp" + "handheld/ags001.slangp" + "handheld/shaders/retro-tiles.slang" ;expat + "handheld/retro-tiles.slangp" + "handheld/shaders/retro-v2.slang" ;gpl2+ + "handheld/retro-v2-nds-color.slangp" + "handheld/retro-v2.slangp" + "handheld/shaders/retro-v3.slang" ;gpl2+ + "handheld/retro-v3-nds-color.slangp" + "handheld/retro-v3.slangp" + "handheld/shaders/sameboy-lcd.slang" ;expat + "handheld/sameboy-lcd-gbc-color-motionblur.slangp" + "handheld/sameboy-lcd.slangp" + "handheld/shaders/simpletex_lcd/" ;gpl2+ + "handheld/simpletex_lcd-4k.slangp" + "handheld/simpletex_lcd_720p+gba-color.slangp" + "handheld/simpletex_lcd_720p+gbc-color.slangp" + "handheld/simpletex_lcd_720p.slangp" + "handheld/simpletex_lcd+gba-color-4k.slangp" + "handheld/simpletex_lcd+gba-color.slangp" + "handheld/simpletex_lcd+gbc-color-4k.slangp" + "handheld/simpletex_lcd+gbc-color.slangp" + "handheld/simpletex_lcd.slangp" + "handheld/shaders/zfast_lcd.slang" ;gpl2+ + "handheld/zfast-lcd.slangp" + "handheld/console-border/shader-files/gb-pass0.slang" ;gpl3+ + "handheld/console-border/shader-files/gb-pass1.slang" ;gpl3+ + "handheld/console-border/shader-files/gb-pass2.slang" ;gpl3+ + "handheld/console-border/shader-files/gb-pass3.slang" ;gpl3+ + "handheld/console-border/resources/" ;non-functional data + "handheld/console-border/dmg.slangp" + "hdr/shaders/crt-guest-advanced-ntsc-pass1a.slang" ;gpl2+ + "include/blur-functions.h" ;expat + "include/cleanEdge.inc" ;expat + "include/colorspace-tools.h" ;gpl2+ + "include/gamma-management.h" ;expat + "include/img/black_lvl_dogway.h" ;<15 LOC + "include/img/black_lvl.h" ;<15 LOC + "include/img/cgwg_warp.h" ;gpl2 + "include/img/channel_mix.h" ;<15 LOC + "include/img/col_tools.h" ;<15 LOC + "include/img/curvature.h" ;gpl2 and gpl3 + "include/img/int_ar.h" ;public domain + "include/img/subpx_masks.h" ;<15 LOC + "include/quad-pixel-communication.h" ;expat + "include/special-functions.h" ;expat + "include/subpixel_masks.h" ;public domain + "interpolation/shaders/bicubic.slang" ;gpl2+ + "interpolation/bicubic.slangp" + "interpolation/shaders/bicubic-x.slang" ;expat + "interpolation/shaders/bicubic-y.slang" ;expat + "interpolation/bicubic-fast.slangp" + "interpolation/shaders/b-spline-4-taps.slang" ;expat + "interpolation/b-spline-4-taps.slangp" + "interpolation/shaders/b-spline-x.slang" ;expat + "interpolation/shaders/b-spline-y.slang" ;expat + "interpolation/b-spline-fast.slangp" + "interpolation/shaders/catmull-rom-x.slang" ;expat + "interpolation/shaders/catmull-rom-y.slang" ;expat + "interpolation/catmull-rom-fast.slangp" + "interpolation/shaders/jinc2.slang" ;gpl2+ + "interpolation/jinc2-sharper.slangp" + "interpolation/jinc2-sharp.slangp" + "interpolation/jinc2.slangp" + "interpolation/shaders/lanczos16.slang" ;gpl2+ + "interpolation/lanczos16.slangp" + "interpolation/shaders/lanczos3-x.slang" ;gpl2+ + "interpolation/shaders/lanczos3-y.slang" ;gpl2+ + "interpolation/lanczos3-fast.slangp" + "interpolation/shaders/spline16-x.slang" ;gpl2+ + "interpolation/shaders/spline16-y.slang" ;gpl2+ + "interpolation/spline16-fast.slangp" + "interpolation/shaders/spline36-x.slang" ;gpl2+ + "interpolation/shaders/spline36-y.slang" ;gpl2+ + "interpolation/spline36-fast.slangp" + "misc/shaders/anti-flicker.slang" ;public domain + "misc/anti-flicker.slangp" + "misc/shaders/bead.slang" ;public domain + "misc/bead.slangp" + "misc/shaders/bob-deinterlacing.slang" ;public domain + "misc/bob-deinterlacing.slangp" + "misc/shaders/chromaticity.slang" ;gpl3+ + "misc/chromaticity.slangp" + "misc/shaders/coverage/coverage.inc" ;<15 LOC + "misc/shaders/deband.slang" ;gpl2+ + "misc/deband.slangp" + "misc/shaders/deinterlace.slang" ;gpl2 + "misc/deinterlace.slangp" + "misc/shaders/deposterize" ;gpl2+ + "misc/shaders/geom.slang" ;gpl2+ + "misc/geom-append.slangp" + "misc/shaders/glass.slang" ;public domain + "misc/glass.slangp" + "misc/shaders/grade-no-LUT.slang" ;gpl2+ + "misc/grade-no-LUT.slangp" + "misc/shaders/grade.slang" ;gpl2+ + "misc/grade.slangp" + "misc/shaders/image-adjustment.slang" ;public domain + "misc/image-adjustment.slangp" + "misc/shaders/img_mod.slang" ;public domain + "misc/img_mod.slangp" + "misc/shaders/input_transform" ;cc0 + "misc/shaders/interlacing.slang" + "misc/interlacing.slangp" + "misc/shaders/print-resolution/print-resolution-generate-and-cache.slang" ;gpl3+ + "misc/shaders/relief.slang" ;expat + "misc/relief.slangp" + "misc/shaders/ss-gamma-ramp.slang" ;gpl2 + "misc/ss-gamma-ramp.slangp" + "motionblur/shaders/braid-rewind.slang" ;gpl2+ + "motionblur/braid-rewind.slangp" + "motionblur/shaders/mix_frames.slang" ;gpl2+ + "motionblur/mix_frames.slangp" + "motionblur/shaders/mix_framse_smart.slang" ;gpl2+ + "motionblur/mix_frames_smart.slangp" + "motionblur/shaders/motionblur-simple.slang" ;gpl2+ + "motionblur/motionblur-simple.slangp" + "motionblur/shaders/response-time.slang" ;gpl2+ + "motionblur/response-time.slangp" + "nes_raw_palette/shaders/gtu-famicom/" ;gpl3 + "nes_raw_palette/gtu-famicom.slangp" + "nes_raw_palette/pal-r57shell-raw.slangp" + "nes_raw_palette/patchy-mesen-raw-palette.slangp" + "ntsc/shaders/analog_overshoot.slang" ;lgpl3 + "ntsc/shaders/ntsc-simple/ntsc-simple-1.slang" ;gpl2+ + "ntsc/shaders/ntsc-simple/ntsc-simple-2.slang" ;gpl2+ + "ntsc/shaders/ntsc-xot.slang" ;cc-by-sa version unknown + "ntsc/shaderspatchy-ntsc/afterglow0-update/afterglow0-update-pass2.slang" ;gpl2+ + "ntsc/shaderspatchy-ntsc/afterglow0-update/afterglow0-update-pass3.slang" ;gpl2+ + "ntsc/shaders/patchy-ntsc/linear-to-srgb.slang" ;gpl3 + "ntsc/shaders/patchy-ntsc/P22_80s_D65.png" ;data + "ntsc/shaders/patchy-ntsc/P22_90s_D65.png" ;data + "ntsc/shaders/patchy-ntsc/P22_J_D65.png" ;data + "ntsc/shaders/patchy-ntsc/P22_J_D93.png" ;data + "ntsc/shaders/patchy-ntsc/patchy-color.slang" ;gpl3 + "ntsc/shaders/patchy-ntsc/patchy-ntsc-combine-y-c.slang" ;gpl3 + "ntsc/shaders/patchy-ntsc/patchy-ntsc-decode-y-rmy-bmy.slang" ;gpl3 + "ntsc/shaders/patchy-ntsc/patchy-ntsc-encode-y-c.slang" ;gpl3 + "ntsc/shaders/patchy-ntsc/patchy-ntsc-eotf.slang" ;gpl3 + "ntsc/shaders/patchy-ntsc/patchy-ntsc-inc-filters.inc" ;gpl3 + "ntsc/shaders/patchy-ntsc/patchy-ntsc-inc-params.inc" ;gpl3 + "ntsc/shaders/patchy-ntsc/patchy-ntsc-noise.slang" ;gpl3 + "ntsc/shaders/patchy-ntsc/patchy-ntsc-separate-y-c.slang" ;gpl3 + "ntsc/shaders/patchy-ntsc/trilinearLUT-switchable.slang" ;gpl2+ + "ntsc/shaders/patchy-ntsc/TrinitronP22_D65.png" ;data + "ntsc/shaders/patchy-ntsc/TrinitronP22_D93.png" ;data + "ntsc/patchy-blastem.slangp" + "ntsc/patchy-genplusgx.slangp" + "ntsc/patchy-snes.slangp" + "pal/shaders/pal-r57shell.slang" ;public domain + "pal/pal-r57shell.slangp" + "pal/shaders/pal-singlepass.slang" ;bsd-2 + "pal/pal-singlepass.slangp" + "pal/resources/" ;data + "pixel-art-scaling/shaders/aann.slang" ;expat + "pixel-art-scaling/aann.slangp" + "pixel-art-scaling/shaders/bandlimit-pixel.slang" ;expat + "pixel-art-scaling/shaders/box_filter_aa/" ;cc0 + "pixel-art-scaling/box_filter_aa_xform.slangp" + "pixel-art-scaling/shaders/pixel_aa" ;cc0 + "pixel-art-scaling/pixel_aa.slangp" + "pixel-art-scaling/pixel_aa_xform.slangp" + "pixel-art-scaling/shaders/pixellate.slang" ;isc + "pixel-art-scaling/pixellate.slangp" + "pixel-art-scaling/shaders/sharp-bilinear-scanlines.slang" ;public domain + "pixel-art-scaling/sharp-bilinear-scanlines.slangp" + "pixel-art-scaling/shaders/sharp-bilinear-simple.slang" ;public domain + "pixel-art-scaling/sharp-bilinear-simple.slangp" + "pixel-art-scaling/shaders/sharp-bilinear.slang" + "pixel-art-scaling/sharp-bilinear.slangp" + "pixel-art-scaling/shaders/uniform-nearest.slang" ;gpl2+ + "pixel-art-scaling/uniform-nearest.slangp" + ;; The following include stock.slang, which license is unknown. + ;; "presets/crt-hyllian-sinc-smartblur-sgenpt.slangp" + ;; "presets/crt-hyllian-smartblur-sgenpt.slangp" + ;; The following depend on royale, which pulls in the non-free + ;; include/compat_macros.h. + ;; "presets/crt-royale-fast/4k/crt-royale-fast-rgb-aperture.slangp" + ;; "presets/crt-royale-fast/4k/crt-royale-fast-rgb-slot.slangp" + ;; "presets/crt-royale-fast/4k/crt-royale-pvm-rgb-blend.slangp" + ;; "presets/crt-royale-fast/4k/crt-royale-pvm-rgb-shmup.slangp" + ;; "presets/crt-royale-fast/4k/crt-royale-pvm-rgb.slangp" + ;; "presets/crt-royale-fast/crt-royale-fast-rgb-aperture.slangp" + ;; "presets/crt-royale-fast/crt-royale-fast-rgb-slot.slangp" + ;; "presets/crt-royale-fast/crt-royale-pvm-rgb-blend.slangp" + ;; "presets/crt-royale-fast/crt-royale-pvm-rgb-shmup.slangp" + ;; "presets/crt-royale-fast/crt-royale-pvm-rgb.slangp" + ;; "presets/crt-royale-fast-ntsc-composite.slangp" + ;; "presets/crt-royale-kurozumi.slangp" + ;; "presets/crt-royale-ntsc-composite.slangp" + ;; "presets/crt-royale-ntsc-svideo.slangp" + ;; "presets/crt-royale-pal-r57shell.slangp" + ;; "presets/crt-royale-xm29plus.slangp" + "presets/crtsim-grungy.slangp" + "presets/gizmo-crt/" ;slangp data files + ;; "presets/imgborder-royale-kurozumi.slangp" + "presets/my_old_tv.slangp" + "presets/nedi-powervr-sharpen.slangp" + "presets/retro-v2+gba-color.slangp" + "presets/retro-v2+gbc-color.slangp" + "presets/retro-v2+image-adjustment.slangp" + "presets/retro-v2+nds-color.slangp" + "presets/retro-v2+psp-color.slangp" + "presets/retro-v2+vba-color.slangp" + "presets/tvout/tvout-jinc-sharpen.slangp" + "presets/tvout/tvout.slangp" + "presets/tvout+interlacing/tvout+interlacing.slangp" + "presets/tvout+interlacing/tvout-jinc-sharpen+interlacing.slangp" + ;; The xbr-xsal presets require support/linearize.slang, whose + ;; license is unknown. + ;;"presets/xbr-xsal/" ;slangp data files + "procedural/iq-raymarching-primitives.slang" ;expat + "quad/shaders/biquad.slang" ;gpl2+ + "quad/quad_interp.slang" ;public domain + "reshade/shaders/magicbloom/" ;mit + "scanlines/shaders/res-independent-scanlines.slang" ;public domain + "scanlines/res-independent-scanlines.slangp" + "scanlines/shaders/scanline-fract.slang" ;public domain + "scanlines/scanline-fract.slangp" + "scanlines/shaders/scanlines-rere.slang" ;public domain + "scanlines/scanlines-rere.slangp" + "scanlines/shaders/scanlines-sine-abs.slang" ;public domain + "scanlines/scanlines-sine-abs.slangp" + "sharpen/shaders/adaptive-sharpen-pass1.slang" ;bsd-2 + "sharpen/shaders/adaptive-sharpen-pass2.slang" ;bsd-2 + "sharpen/adaptive-sharpen-multipass.slangp" + "sharpen/shaders/adaptive-sharpen.slang" ;bsd-2 + "sharpen/adaptive-sharpen.slangp" + "sharpen/shaders/anime4k/anime4k-compute-gradient.slang" ;expat + "sharpen/shaders/anime4k/anime4k-pushgrad-weak.slang" ;expat + "sharpen/shaders/anime4k/anime4k-push.slang" ;expat + "sharpen/shaders/cheap-sharpen.slang" ;expat + "sharpen/cheap-sharpen.slangp" + "sharpen/shaders/diff.slang" ;lgpl3+ + "sharpen/shaders/fast-sharpen.slang" ;gpl2+ + "sharpen/shaders/rcas.slang" ;expat + "sharpen/rca_sharpen.slangp" + "sharpen/shaders/super-res-ex.slang" ;lgpl3+ + "stereoscopic-3d/shaders/anaglyph-to-side-by-side.slang" ;public domain + "stereoscopic-3d/anaglyph-to-side-by-side.slangp" + "stereoscopic-3d/shaders/sbs-to-interlaced.slang" ;public domain + "stereoscopic-3d/side-by-side-to-interlaced.slangp" + "stereoscopic-3d/shaders/sbs-to-shutter.slang" ;public domain + "stereoscopic-3d/side-by-side-to-shutter.slangp" + "stereoscopic-3d/shaders/shutter-to-side-by-side.slang" ;public domain + "stereoscopic-3d/shutter-to-side-by-side.slangp" + "stereoscopic-3d/shaders/side-by-side-simple.slang" ;public domain + "stereoscopic-3d/side-by-side-simple.slangp" + "vhs/shaders/vhs_and_crt_godot.slang" ;cc0 + "vhs/vhs_and_crt_godot.slangp" ;cc0 + "warp/shaders/dilation.slang" ;expat + "warp/shaders/erosion.slang" ;expat + "warp/dilation.slangp" + + ;; Build/development supporting files not installed. + ".git/" + "configure" + "Makefile") + + ;; The following are special cases, to be used sparringly. These + ;; presets uses stock.slang, whose license is unclear. + (for-each + (lambda (x) + (if (file-exists? x) + (delete-file x) + (format (current-error-port) + "warning: file ~s does not exist~%" x))) + '("bfi/120hz-smart-BFI.slangp" + "crt/shaders/cathode-retro/signal_test.slangp" + "blurs/shaders/dual_filter/naive_resample.slang" + "edge-smoothing/scalefx/scalefx+rAA.slangp" + "edge-smoothing/scalefx/scalefx-9x.slangp" + "edge-smoothing/scalefx/scalefx-hybrid.slangp" + "edge-smoothing/scalefx/scalefx.slangp" + "edge-smoothing/scalefx/shaders/old/scalefx-9x.slangp" + "edge-smoothing/scalefx/shaders/old/scalefx.slangp")))) + (sha256 + (base32 + "0r45p61nhi44f7ka5dvcabin7q2l25liyhgynm159pwlpwxz83nv")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:make-flags #~(list (string-append "PREFIX=" #$output)))) + (home-page "https://github.com/libretro/slang-shaders") + (synopsis "Vulkan GLSL shader collections for RetroArch") + (description "This package provides a collection of Vulkan +GLSL (@file{.slang}) shaders for use with RetroArch.") + ;; Here's the current low-down on the licenses used in this aggregated + ;; collection; please keep it up to date! + (license (list license:expat + license:cc0 + license:cc-by3.0 + license:public-domain + license:gpl2 + license:gpl2+ + license:gpl3 + license:gpl3+ + license:isc + license:lgpl2.1+ + license:lgpl3 + license:mpl2.0 + license:bsd-2 + license:bsd-3 + license:unlicense))))) + (define-public retroarch-minimal (let ((commit "48b71d5cf8a070e785e2302d8fe241a7c2180fdd") (revision "1")) -- cgit v1.2.3