From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 24 16:33:05 2022 Received: (at 49943) by debbugs.gnu.org; 24 Feb 2022 21:33:05 +0000 Received: from localhost ([127.0.0.1]:50606 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nNLjV-0004Jm-0S for submit@debbugs.gnu.org; Thu, 24 Feb 2022 16:33:05 -0500 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:57163) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nNLjS-0004JG-ON for 49943@debbugs.gnu.org; Thu, 24 Feb 2022 16:33:04 -0500 Received: (Authenticated sender: admin@nicolasgoaziou.fr) by mail.gandi.net (Postfix) with ESMTPSA id D5EA0C0003; Thu, 24 Feb 2022 21:32:55 +0000 (UTC) From: Nicolas Goaziou To: Maxim Cournoyer Subject: Re: bug#49943: [PATCH] gnu: Add openboard References: <87czqoc7tj.fsf@nicolasgoaziou.fr> <87bkywlwp6.fsf@gmail.com> Date: Thu, 24 Feb 2022 22:32:54 +0100 In-Reply-To: <87bkywlwp6.fsf@gmail.com> (Maxim Cournoyer's message of "Wed, 23 Feb 2022 23:23:17 -0500") Message-ID: <87a6eghrw9.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 49943 Cc: 49943@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hello, Maxim Cournoyer writes: > I tried to build it, but it failed with: Thank you for the feedback! > --8<---------------cut here---------------start------------->8--- > g++ -c -m64 -pipe -std=3Dc++11 -fopenmp -O2 -std=3Dgnu++1y -w -D_REENTRAN= T -fPIC -DNO_THIRD_PARTY_WARNINGS -DUBVERSION=3D"\"1.6.1."\" -DUBVERSION_RC= =3D1,6,1,240,0309 -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_WEBKIT_LIB -DQT= _SVG_LIB -DQT_UITOOLS_LIB -DQT_MULTIMEDIAWIDGETS_LIB -DQT_PRINTSUPPORT_LIB = -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_XMLPATTERNS_LIB -DQT= _NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -Isrc -Isrc/web/browser -Isrc/qtsin= gleapplication/src -Isrc/pdf-merger -Iplugins/cffadaptor/src -I/gnu/store/2= nsrbbnw4174rnmaw8mkdgd0939fwj1h-quazip-1.2/include/quazip5 -I/gnu/store/jf1= 972y4lzipm4h17spkzaclb0ifflv0-poppler-21.07.0/include/poppler -I/gnu/store/= 0gabd8wshbc917y3m4mcqndnnf6gv572-qtwebkit-5.212.0-alpha4/include/QtWebKitWi= dgets -I/gnu/store/0gabd8wshbc917y3m4mcqndnnf6gv572-qtwebkit-5.212.0-alpha4= /include/QtWebKit -I/gnu/store/c7m7mihwj3sn9gbvyb2d1ma62hlifgkn-qtsvg-5.15.= 2/include/qt5 -I/gnu/store/c7m7mihwj3sn9gbvyb2d1ma62hlifgkn-qtsvg-5.15.2/in= clude/qt5/QtSvg -I/gnu/store/3cpa4lv4gx2nkiyvg4xkcalvvjv6y1vq-qttools-5.15.= 2/include/qt5 -I/gnu/store/3cpa4lv4gx2nkiyvg4xkcalvvjv6y1vq-qttools-5.15.2/= include/qt5/QtUiTools -I/gnu/store/dk284553z4sgpd0jivggham4i70z1b65-qtmulti= media-5.15.2/include/qt5 -I/gnu/store/dk284553z4sgpd0jivggham4i70z1b65-qtmu= ltimedia-5.15.2/include/qt5/QtMultimediaWidgets -I/gnu/store/v8yw01fvwdm95j= vqa82sylw6qznmh2mi-qtbase-5.15.2/include/qt5 -I/gnu/store/v8yw01fvwdm95jvqa= 82sylw6qznmh2mi-qtbase-5.15.2/include/qt5/QtPrintSupport -I/gnu/store/v8yw0= 1fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/include/qt5/QtWidgets -I/gnu/stor= e/dk284553z4sgpd0jivggham4i70z1b65-qtmultimedia-5.15.2/include/qt5/QtMultim= edia -I/gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5.15.2/include/qt= 5/QtGui -I/gnu/store/f96i1vssl11vk483570ki90g56mhpiz1-qtxmlpatterns-5.15.2/= include/qt5 -I/gnu/store/f96i1vssl11vk483570ki90g56mhpiz1-qtxmlpatterns-5.1= 5.2/include/qt5/QtXmlPatterns -I/gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi= -qtbase-5.15.2/include/qt5/QtNetwork -I/gnu/store/v8yw01fvwdm95jvqa82sylw6q= znmh2mi-qtbase-5.15.2/include/qt5/QtXml -I/gnu/store/v8yw01fvwdm95jvqa82syl= w6qznmh2mi-qtbase-5.15.2/include/qt5/QtCore -Ibuild/linux/release/moc -I/gn= u/store/ikghb2zrjjl5944gxqkls89rrbd1qn24-libdrm-2.4.107/include/libdrm -Ibu= ild/linux/release/ui -I/gnu/store/v8yw01fvwdm95jvqa82sylw6qznmh2mi-qtbase-5= .15.2/lib/qt5/mkspecs/linux-g++-64 -o build/linux/release/objects/UBDrawing= Controller.o src/board/UBDrawingController.cpp > In file included from src/adaptors/UBExportDocumentSetAdaptor.cpp:28: > src/adaptors/UBExportDocumentSetAdaptor.h:36:10: fatal error: quazip.h: N= o such file or directory > 36 | #include "quazip.h" > | ^~~~~~~~~~ > compilation terminated. > make[1]: *** [Makefile.Release:3415: build/linux/release/objects/UBExport= DocumentSetAdaptor.o] Error 1 > make[1]: *** Waiting for unfinished jobs.... > src/adaptors/UBImportDocumentSetAdaptor.cpp:44:10: fatal error: quazip.h:= No such file or directory > 44 | #include "quazip.h" > | ^~~~~~~~~~ > compilation terminated. > make[1]: *** [Makefile.Release:3436: build/linux/release/objects/UBImport= DocumentSetAdaptor.o] Error 1 > src/adaptors/UBImportDocument.cpp:46:14: fatal error: quazip.h: No such f= ile or directory > 46 | #include "quazip.h" > | ^~~~~~~~~~ > compilation terminated. > make[1]: *** [Makefile.Release:3274: build/linux/release/objects/UBImport= Document.o] Error 1 > src/adaptors/UBImportCFF.cpp:52:14: fatal error: quazip.h: No such file o= r directory > 52 | #include "quazip.h" > | ^~~~~~~~~~ > compilation terminated. > src/adaptors/UBExportWeb.cpp:42:10: fatal error: quazip.h: No such file o= r directory > 42 | #include "quazip.h" > | ^~~~~~~~~~ > compilation terminated. > make[1]: *** [Makefile.Release:3491: build/linux/release/objects/UBImport= CFF.o] Error 1 > make[1]: *** [Makefile.Release:3384: build/linux/release/objects/UBExport= Web.o] Error 1 > src/adaptors/UBExportDocument.cpp:46:14: fatal error: quazip.h: No such f= ile or directory > 46 | #include "quazip.h" > | ^~~~~~~~~~ > compilation terminated. > make[1]: *** [Makefile.Release:3149: build/linux/release/objects/UBExport= Document.o] Error 1 > make[1]: Leaving directory '/tmp/guix-build-openboard-1.6.1.drv-0/source' > make: *** [Makefile:42: release] Error 2 > error: in phase 'build': uncaught exception: > %exception #<&invoke-error program: "make" arguments: ("-j" "24") exit-st= atus: 2 term-signal: #f stop-signal: #f>=20 > phase `build' failed after 6.6 seconds > --8<---------------cut here---------------end--------------->8--- > > Perhaps something changed since with our quazip package? I can build it with the following new-style package definition (although it is still a bit crashy): --8<---------------cut here---------------start------------->8--- (define-public openboard (package (name "openboard") (version "1.6.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/OpenBoard-org/OpenBoard") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1wvkd5zmv7d7ng3basm323zah9gqnj6v57kf31zjk1i0hcc9fl9s")))) (build-system qt-build-system) (arguments `(#:tests? #f ;no tests #:phases (modify-phases %standard-phases (add-after 'unpack 'set-initial-values ;; Remove useless "Check for updates" action from menu. ;; Also prevent pop-up window about importing Open Sankore ;; documents since we don't package OpenBoard-Importer. (lambda _ (substitute* "src/core/UBSettings.cpp" (("(appHideCheckForSoftwareUpdate =3D .*?)false(\\);)" _ sta= rt end) (string-append start "true" end)) (("(appLookForOpenSankoreInstall =3D .*?)true(\\);)" _ start= end) (string-append start "false" end))))) (add-after 'unpack 'fix-hard-coded-env (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/frameworks/UBPlatformUtils_linux.cpp" (("/usr/bin/env") (search-input-file inputs "/bin/env"))))) (add-after 'unpack 'fix-library-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "OpenBoard.pro" (("/usr/include/quazip") (search-input-directory inputs "/include/quazip5")) (("/usr/include/poppler") (search-input-directory inputs "/include/poppler"))))) (replace 'configure (lambda _ ;; XXX: Invoking "lrelease-pro" on "OpenBoard.pro" fails ;; with "WARNING: Could not find qmake spec 'default'" ;; error. So, we compile translations manually. (for-each (lambda (f) (invoke "lrelease" f)) (find-files "resources/i18n" "\\.ts$")) (invoke "qmake" "-spec" ,(if (string-prefix? "x86_64" (%current-system)) "linux-g++-64" "linux-g++")))) (replace 'install (lambda* (#:key outputs inputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (share (string-append out "/share")) (openboard (string-append share "/openboard")) (i18n (string-append openboard "/i18n"))) ;; Install data. (with-directory-excursion "resources" (for-each (lambda (directory) (let ((target (string-append openboard "/" directory)= )) (mkdir-p target) (copy-recursively directory target))) '("customizations" "etc" "library")) (mkdir-p i18n) (for-each (lambda (f) (install-file f i18n)) (find-files "i18n" "\\.qm$"))) ;; Install desktop file an icon. (install-file "resources/images/OpenBoard.png" (string-append share "/icons/hicolor/64x64/app= s/")) (make-desktop-entry-file (string-append share "/applications/" ,name ".desktop") #:name "OpenBoard" #:comment "Interactive whiteboard application" #:exec "openboard %f" #:icon "OpenBoard" #:mime-type "application/ubz" #:categories '("Education")) ;; Install executable. (install-file "build/linux/release/product/OpenBoard" openbo= ard) (let ((bin (string-append out "/bin"))) (mkdir-p bin) (symlink (string-append openboard "/OpenBoard") (string-append bin "/openboard"))))))))) (native-inputs (list qttools)) (inputs (list alsa-lib ffmpeg freetype lame libass libfdk libressl libtheora libva libvorbis libvpx libx264 opus poppler qtbase-5 qtmultimedia qtsvg qtwebkit 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 used both with interactive whiteboards or in a dual-screen setup with a pen-tablet display and a beamer.") (license license:gpl3))) --8<---------------cut here---------------end--------------->8--- Let me know if you'd rather have a patch. Regards, --=20 Nicolas Goaziou