Subject: [bug#74344] [PATCH 6/7] gnu: Add widgetanimationframework.

From: Sughosha <[email-masked]>
Date: Wed, 13 Nov 2024 21:16:22 +0530

* gnu/packages/qt.scm (widgetanimationframework): New variable.

Change-Id: Iacf862eac61b521cf2dd8da9249a6411f2f737a1
---
 gnu/packages/qt.scm | 56 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index efff50a60c..1a9924b1ca 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2022, 2024 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2023 Herman Rimm <[email-masked]>
 ;;; Copyright © 2024 Foundation Devices, Inc. <[email-masked]>
+;;; Copyright © 2024 Sughosha <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4798,6 +4799,61 @@ (define-public qtpromise
      "This package provides Promises/A+ implementation for Qt/C++.")
     (license license:expat)))
 
+(define-public widgetanimationframework
+  (let ((commit "b07ab59cee7a21eb29d29cb67c160681f13ac5ae") ;no tags
+          (revision "0"))
+    (package
+      (name "widgetanimationframework")
+      (version (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+           (git-reference
+             (url "https://github.com/dimkanovikov/WidgetAnimationFramework")
+             (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1smbdrzk05vvbf6lpjdq82k4y2kc4yv1gk5388qbslbzlb6ihls6"))
+         (modules '((guix build utils)))
+         (snippet
+          '(begin
+             (rename-file "demo/waf-demo.pro" "src/waf.pro")
+             (substitute* "src/waf.pro"
+               (("main.cpp ") "")
+               (("app") "lib")
+               (("waf-demo") "waf"))))))
+      (build-system qt-build-system)
+      (arguments
+       (list #:qtbase qtbase
+             #:tests? #f ;no tests
+             #:phases
+             #~(modify-phases %standard-phases
+                 (replace 'configure
+                   (lambda _
+                     (chdir "src")
+                     (invoke "qmake")))
+                 (replace 'install
+                   (lambda _
+                     (for-each
+                       (lambda (file)
+                         (install-file file
+                                       (string-append #$output "/lib/"
+                                                      (dirname file))))
+                       (find-files "." "\\.so"))
+                     (for-each
+                       (lambda (file)
+                         (install-file file
+                                       (string-append #$output "/include/WAF/"
+                                                      (dirname file))))
+                       (find-files "." "\\.h$")))))))
+      (home-page "https://github.com/dimkanovikov/WidgetAnimationFramework")
+      (synopsis "Extension for animating Qt widgets")
+      (description
+       "Widget Animation Framework (WAF) is an extension for animating Qt
+widgets.")
+      (license license:lgpl3))))
+
 (define-public qtcolorwidgets
   (package
     (name "qtcolorwidgets")
-- 
2.46.0