gnu: openboard: Update to 1.7.1.

* gnu/packages/education.scm (openboard): Update to 1.7.1.
[arguments]<#:phases>: Remove unnecessary fix.

Change-Id: I15be965a15baa6458217e6e5c88a457b8c65e810
This commit is contained in:
Nicolas Goaziou 2024-06-19 21:48:54 +02:00
parent e32e3d0a03
commit aa88a99199
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -500,135 +500,119 @@ (define-public toutenclic
(license license:gpl3))) (license license:gpl3)))
(define-public openboard (define-public openboard
;; The last release builds from qtwebkit, which has been removed from (package
;; Guix, so use the latest commit of the 1.7-dev branch, which builds with (name "openboard")
;; qtwebengine-5. (version "1.7.1")
(let ((commit "47a96e1d6bbdc0250977d22f1b79f11fcc1cbeee") (source
(revision "0")) (origin
(package (method git-fetch)
(name "openboard") (uri (git-reference
(version (git-version "1.7-dev" revision commit)) (url "https://github.com/OpenBoard-org/OpenBoard")
(source (commit (string-append "v" version))))
(origin (file-name (git-file-name name version))
(method git-fetch) (sha256
(uri (git-reference (base32 "1lxwf50n0bfjjnpq5z82f3apsv9mn834js7f2spw1k1f06a72z41"))))
(url "https://github.com/OpenBoard-org/OpenBoard") (build-system qt-build-system)
(commit commit))) (arguments
(file-name (git-file-name name version)) (list
(sha256 #:tests? #f ;no tests
(base32 "04pwmg41vlkwigym3zzkid6srh6f05b44g4mbihd6mhj6vsagx1f")))) #:phases
(build-system qt-build-system) #~(modify-phases %standard-phases
(arguments (add-after 'unpack 'set-initial-values
(list ;; Remove useless "Check for updates" action from menu. Also
#:tests? #f ;no tests ;; prevent pop-up window about importing Open Sankore documents
#:phases ;; since we don't package OpenBoard-Importer.
#~(modify-phases %standard-phases (lambda _
(add-after 'unpack 'set-initial-values (substitute* "src/core/UBSettings.cpp"
;; Remove useless "Check for updates" action from menu. (("(appHideCheckForSoftwareUpdate = .*?)false(\\);)" _ beg end)
;; Also prevent pop-up window about importing Open Sankore (string-append beg "true" end))
;; documents since we don't package OpenBoard-Importer. (("(appLookForOpenSankoreInstall = .*?)true(\\);)" _ beg end)
(lambda _ (string-append beg "false" end)))))
(substitute* "src/core/UBSettings.cpp" (add-after 'unpack 'fix-hard-coded-env
(("(appHideCheckForSoftwareUpdate = .*?)false(\\);)" _ beg end) (lambda* (#:key inputs #:allow-other-keys)
(string-append beg "true" end)) (substitute* "src/frameworks/UBPlatformUtils_linux.cpp"
(("(appLookForOpenSankoreInstall = .*?)true(\\);)" _ beg end) (("/usr/bin/env") (search-input-file inputs "/bin/env")))))
(string-append beg "false" end))))) (add-after 'unpack 'fix-library-path
(add-after 'unpack 'fix-build-error (lambda* (#:key inputs #:allow-other-keys)
;; XXX: `errorOpeningVirtualKeyboard' variable is only (substitute* "OpenBoard.pro"
;; defined when building for OSX. Yet, (("/usr/include/quazip5")
;; "UBBoardController.cpp" relies on it unconditionally, (search-input-directory inputs "/include/quazip5"))
;; resulting in a build failure. Here, we get rid of (("/usr/include/poppler")
;; that variable, assuming it is always false (its (search-input-directory inputs "/include/poppler")))))
;; default value when building for OSX). (replace 'configure
(lambda _ (lambda _
(substitute* "src/board/UBBoardController.cpp" (invoke "qmake" "OpenBoard.pro")))
(("if \\(!UBPlatformUtils::errorOpeningVirtualKeyboard\\)") (replace 'install
"")))) (lambda* (#:key inputs #:allow-other-keys)
(add-after 'unpack 'fix-hard-coded-env (let* ((share (string-append #$output "/share"))
(lambda* (#:key inputs #:allow-other-keys) (openboard (string-append share "/openboard"))
(substitute* "src/frameworks/UBPlatformUtils_linux.cpp" (i18n (string-append openboard "/i18n")))
(("/usr/bin/env") (search-input-file inputs "/bin/env"))))) ;; Install data.
(add-after 'unpack 'fix-library-path (with-directory-excursion "resources"
(lambda* (#:key inputs #:allow-other-keys) (for-each (lambda (directory)
(substitute* "OpenBoard.pro" (let ((target
(("/usr/include/quazip5") (string-append openboard "/" directory)))
(search-input-directory inputs "/include/quazip5")) (mkdir-p target)
(("/usr/include/poppler") (copy-recursively directory target)))
(search-input-directory inputs "/include/poppler"))))) '("customizations" "etc" "library"))
(replace 'configure (mkdir-p i18n)
(lambda _ (for-each (lambda (f)
(invoke "qmake" "OpenBoard.pro"))) (install-file f i18n))
(replace 'install (find-files "i18n" "\\.qm$")))
(lambda* (#:key inputs #:allow-other-keys) ;; Install desktop file an icon.
(let* ((share (string-append #$output "/share")) (install-file "resources/images/OpenBoard.png"
(openboard (string-append share "/openboard")) (string-append share
(i18n (string-append openboard "/i18n"))) "/icons/hicolor/64x64/apps/"))
;; Install data. (make-desktop-entry-file
(with-directory-excursion "resources" (string-append share "/applications/" #$name ".desktop")
(for-each (lambda (directory) #:name "OpenBoard"
(let ((target #:comment "Interactive whiteboard application"
(string-append openboard "/" directory))) #:exec "openboard %f"
(mkdir-p target) #:icon "OpenBoard"
(copy-recursively directory target))) #:mime-type "application/ubz"
'("customizations" "etc" "library")) #:categories '("Education"))
(mkdir-p i18n) ;; Install executable.
(for-each (lambda (f) (install-file "build/linux/release/product/OpenBoard" openboard)
(install-file f i18n)) (let ((bin (string-append #$output "/bin")))
(find-files "i18n" "\\.qm$"))) (mkdir-p bin)
;; Install desktop file an icon. (symlink (string-append openboard "/OpenBoard")
(install-file "resources/images/OpenBoard.png" (string-append bin "/openboard")))))))))
(string-append share (native-inputs
"/icons/hicolor/64x64/apps/")) (list qttools-5))
(make-desktop-entry-file (inputs
(string-append share "/applications/" #$name ".desktop") (list alsa-lib
#:name "OpenBoard" coreutils-minimal ;for patched 'env' shebang
#:comment "Interactive whiteboard application" ffmpeg-4
#:exec "openboard %f" freetype
#:icon "OpenBoard" lame
#:mime-type "application/ubz" libass
#:categories '("Education")) libfdk
;; Install executable. libressl
(install-file "build/linux/release/product/OpenBoard" openboard) libtheora
(let ((bin (string-append #$output "/bin"))) libva
(mkdir-p bin) libvorbis
(symlink (string-append openboard "/OpenBoard") libvpx
(string-append bin "/openboard"))))))))) libx264
(native-inputs opus
(list qttools-5)) poppler
(inputs qtbase-5
(list alsa-lib qtdeclarative-5
coreutils-minimal ;for patched 'env' shebang qtmultimedia-5
ffmpeg-4 qtsvg-5
freetype qtwebchannel-5
lame qtwebengine-5
libass qtxmlpatterns
libfdk quazip-0
libressl sdl
libtheora zlib))
libva (home-page "https://openboard.ch/")
libvorbis (synopsis "Interactive whiteboard for schools and universities")
libvpx (description
libx264 "OpenBoard is a teaching software for interactive whiteboard
opus
poppler
qtbase-5
qtdeclarative-5
qtmultimedia-5
qtsvg-5
qtwebchannel-5
qtwebengine-5
qtxmlpatterns
quazip-0
sdl
zlib))
(home-page "https://openboard.ch/")
(synopsis "Interactive whiteboard for schools and universities")
(description
"OpenBoard is a teaching software for interactive whiteboard
designed primarily for use in schools and universities. It can be designed primarily for use in schools and universities. It can be
used both with interactive whiteboards or in a dual-screen setup with used both with interactive whiteboards or in a dual-screen setup with
a pen-tablet display and a beamer.") a pen-tablet display and a beamer.")
(license license:gpl3)))) (license license:gpl3)))
(define-public fet (define-public fet
(package (package