~efraim/guix

9ff2815483708a5b22ebfc702aae21b6dc11b94a — Oleg Pykhalov a month ago f24bd5e
gnu: Add obs-shaderfilter.

* gnu/packages/video.scm (obs-shaderfilter): New variable.

Change-Id: I79e81135d2214f009744ee2687a5468a7891c2e7
1 files changed, 49 insertions(+), 0 deletions(-)

M gnu/packages/video.scm
M gnu/packages/video.scm => gnu/packages/video.scm +49 -0
@@ 4388,6 4388,55 @@ configuration (bitrate).")
inputs and applications using PipeWire.")
    (license license:gpl2+)))

(define-public obs-shaderfilter
  (package
    (name "obs-shaderfilter")
    (version "2.0.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/exeldro/obs-shaderfilter")
                    (commit version)))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1kqa8323gcnyqjcya4ynhwvd38y0xsxvxndzndpmg18q88svyiq8"))))
    (build-system cmake-build-system)
    (arguments
     (list
      #:modules '((guix build cmake-build-system)
                  (guix build utils))
      #:tests? #f ;no tests
      #:configure-flags
      #~(list (string-append "-DLIBOBS_INCLUDE_DIR="
                             #$(this-package-input "obs") "/lib")
              "-DBUILD_OUT_OF_TREE=On"
              "-Wno-dev")
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'install 'fix-effects
            (lambda _
              (for-each
               (lambda (directory)
                 (mkdir-p
                  (string-append
                   #$output "/share/obs/obs-plugins/obs-shaderfilter"))
                 (rename-file
                  (string-append
                   #$output "/data/obs-plugins/obs-shaderfilter/" directory)
                  (string-append
                   #$output "/share/obs/obs-plugins/obs-shaderfilter/"
                   directory)))
               '("examples" "textures")))))))
    (inputs (list obs qtbase-5))
    (home-page "https://github.com/exeldro/obs-shaderfilter")
    (synopsis "OBS filter for applying an arbitrary shader to a source")
    (description "Plugin for OBS Studio which is intended to allow users to
apply their own shaders to OBS sources.  This theoretically makes possible
some simple effects like drop shadows that can be implemented strictly in
shader code.")
    (license license:gpl2)))

(define-public obs-source-clone
  (package
    (name "obs-source-clone")