From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id aNgCOhkj32LLtQAAbAwnHQ (envelope-from ) for ; Tue, 26 Jul 2022 01:11:22 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id MJ8UOhkj32I4qAAAauVa8A (envelope-from ) for ; Tue, 26 Jul 2022 01:11:21 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 85F6F2F574 for ; Tue, 26 Jul 2022 01:11:21 +0200 (CEST) Received: from localhost ([::1]:34346 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oG7EO-0006c9-HQ for larch@yhetil.org; Mon, 25 Jul 2022 19:11:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36954) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oG7E8-0006aQ-H0 for guix-patches@gnu.org; Mon, 25 Jul 2022 19:11:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33731) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oG7E8-0005im-8a for guix-patches@gnu.org; Mon, 25 Jul 2022 19:11:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oG7E8-0000Hn-42 for guix-patches@gnu.org; Mon, 25 Jul 2022 19:11:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56771] [PATCH 12/33] gnu: Add qtdeclarative, version 6.3.1. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 25 Jul 2022 23:11:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56771 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56771@debbugs.gnu.org Cc: Maxim Cournoyer Received: via spool by 56771-submit@debbugs.gnu.org id=B56771.1658790616851 (code B ref 56771); Mon, 25 Jul 2022 23:11:04 +0000 Received: (at 56771) by debbugs.gnu.org; 25 Jul 2022 23:10:16 +0000 Received: from localhost ([127.0.0.1]:51678 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oG7DM-0000DX-8I for submit@debbugs.gnu.org; Mon, 25 Jul 2022 19:10:16 -0400 Received: from mail-qv1-f50.google.com ([209.85.219.50]:44706) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oG7Bb-00005s-KK for 56771@debbugs.gnu.org; Mon, 25 Jul 2022 19:08:29 -0400 Received: by mail-qv1-f50.google.com with SMTP id b11so4961080qvo.11 for <56771@debbugs.gnu.org>; Mon, 25 Jul 2022 16:08:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pgAOJJRT2p2fzSxCIgay/LZHlubpFYKX+1stEsIoAdA=; b=XHGPa+cb/R9pF2z28nye+kCTD4AvkssClG53cyBZPq7GdveTNSWjXfrSARGX5x0P6b AExZ6cXmdMeKHttQ8noxXHPSq2s0Ez0hbN0HYkygNT5+Tgq5uw4zd9Muw4HBToEO+3oR zS51uiEQ50uoHyPvbxpl8JE2s+RZ2GzZqT45bdebwOrV1cnc558OFixGjn5Nny1ZTgCj AVzT6CixXIn8+0dNcJvwRNeVibV8jgQDYaXY5+Dds3CdCD4q8wOoi7V27Yi+D6rxJWxl 5ve7kTo+ao7PKMg2LR/2dkNwJhu5PpFTA5zna7U+QPhvF61NOe/MJ7NuHiUwSrSfFH/i fsJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pgAOJJRT2p2fzSxCIgay/LZHlubpFYKX+1stEsIoAdA=; b=LHTFRd5VeySfT+xtQr/NJjSwZtx3Yn3Vu0cyO5mMz7zjjt7mFkEwbZyMTnHHHstdqF clHkBwYTe1tf0qHWds1Qrl7WVoNMRwOwZc/jXjS0k8zHNWXf1K+bf87xxWoy17rr5R8G PzOnFmLAdjq8xBm5VRzkpYWhQG+1GihKAxyLVQ0Epd5DhHlY1YYZ67t982DYY962L33I Zvedn8zkimnIWNocKCKDlaTnrXOlkhlwcqYV/l/RPuggVqNLUkMtKO4ABoO5JSJ2zhKT 0OamR77rQ0RaZ24XulDGePqLo19MV99/8iJp/PkUvPBCQZVqbHUUb5Dp/rwA+hZulQ0T iuzQ== X-Gm-Message-State: AJIora/K7xKzHteM4mT7qCuhsfuWl8MIQJQ1+yHDO/RM8HCwzvm83b72 m7mtHB9zsPMm9l5RvsSN8DLFvqaA+oM= X-Google-Smtp-Source: AGRyM1tHM0Q5bguguqRmXiG39iPCIw/pyghil3KlvgFWxUBQ1aQnlDGGoVQjfiiI/6aNk1FrxEnh2w== X-Received: by 2002:ad4:5ded:0:b0:472:f1e0:9562 with SMTP id jn13-20020ad45ded000000b00472f1e09562mr12487563qvb.85.1658790501874; Mon, 25 Jul 2022 16:08:21 -0700 (PDT) Received: from localhost.localdomain (dsl-205-233-125-69.b2b2c.ca. [205.233.125.69]) by smtp.gmail.com with ESMTPSA id c15-20020ac8008f000000b0031ee9afafccsm8110580qtg.14.2022.07.25.16.08.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Jul 2022 16:08:21 -0700 (PDT) From: Maxim Cournoyer Date: Mon, 25 Jul 2022 19:07:42 -0400 Message-Id: <20220725230803.10002-12-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220725230803.10002-1-maxim.cournoyer@gmail.com> References: <20220725230803.10002-1-maxim.cournoyer@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1658790681; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=pgAOJJRT2p2fzSxCIgay/LZHlubpFYKX+1stEsIoAdA=; b=eQobIDU3VtVxvI/17D0dhs8jhYMztKJyUNmAluLfNzHZKPqvQCu8/j3QQbV0RcNM7hTQcS JPog+Ir68mpx4ThBrlqS3hSbgIShJjUdvb9eBiOT6ixYu9l3oFg9USYKrQ51pX423uR7J4 PDQmRY5yjWrXqzqYrIpc+6z8uSRw7C9NvaAW0eM+rDScUwgdBrq+8EYY8iQE5RatVaDSRz P0YwLtxEg3F+AYErcKLgNS1cm5RYSqNuXuVLR7CJAU9rBRLyWEwbWEPPePSeKun6QNTtaX byY7XXTbTy3rqoqoZhSbSxukhBcmWVI3i/J3dFwg4AaBFtCOigfMzLLTlVHBQA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1658790681; a=rsa-sha256; cv=none; b=aYlJlY+9xCPGLyYo+DU1JDp9aN/0zioHQe/R+hGu209RJepAVVWOoMKyeZJ+Ae/6Dbatxs yZ1A7rY8d9j53Ra6XleCIL0KknttQf2jzjaJWO7Gp61RGMOfCpSOt32V3SqPYnt0uPUGXn hidYPp/NKTKHhawbVaIKFqIWJuP1jXj9x4jaeo38fg1Xr2ng0aBDFTdSMuzMHbKl7sPo+I LOvT3RRLwbTl/GglEFZpUwkNSqfchIy7XLE5mCoBadSGo5TghMS4tz0GkCyl9Nd2a7OqIC CSMOMA82rzaQAj7WfxfBJxmISEH23GFrNgnMpTM7lJRB7tnzKbYkt5Ew8F8FRA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=XHGPa+cb; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 6.57 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=XHGPa+cb; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 85F6F2F574 X-Spam-Score: 6.57 X-Migadu-Scanner: scn1.migadu.com X-TUID: n3DoKNYvyJ8k * gnu/packages/qt.scm (qtdeclarative): New variable. --- gnu/packages/qt.scm | 128 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ac4e125d2b..7851509513 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1058,6 +1058,134 @@ (define-public qtdeclarative-5 developers to extend the QML language with custom types and integrate QML code with JavaScript and C++."))) +(define-public qtdeclarative + (package + (name "qtdeclarative") + (version "6.3.1") + ;; TODO: Package 'masm' and unbundle from sources. + (source (origin + (method url-fetch) + (uri (qt5-urls name version)) + (sha256 + (base32 + "1s268fha3650dn1lqxf8jfa07wxpw09f6p7rjyiwq3w24d0nkrq3")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags #~(list "-GNinja" ;about twice as fast! + "-DQT_BUILD_TESTS=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'honor-cmake-install-rpath + ;; The build system goes out of its way to compute a runpath it + ;; thinks makes more sense, and fails. Revert to the default + ;; behavior, which is to honor CMAKE_INSTALL_RPATH. + (lambda _ + (substitute* "src/qml/Qt6QmlMacros.cmake" + (("set_target_properties.*PROPERTIES.*INSTALL_RPATH.*" all) + (string-append "# " all))))) + (add-after 'unpack 'patch-qlibraryinfo-paths + (lambda _ + ;; The QLibraryInfo paths are hard-coded to point to the qtbase + ;; installation, but all the tools used in the test suite come + ;; from this package. + (substitute* (find-files "tests" "\\.cpp$") + (("QLibraryInfo::path\\(QLibraryInfo::BinariesPath)") + (string-append "QStringLiteral(\"" #$output "/bin\")")) + (("QLibraryInfo::path\\(QLibraryInfo::LibraryExecutablesPath)") + (string-append "QStringLiteral(\"" #$output + "/lib/qt6/libexec\")")) + (("QLibraryInfo::path\\(QLibraryInfo::QmlImportsPath)") + (string-append "QStringLiteral(\"" #$output + "/lib/qt6/qml\")"))))) + (replace 'build + (lambda* (#:key parallel-build? #:allow-other-keys) + (apply invoke "cmake" "--build" "." + (if parallel-build? + `("--parallel" ,(number->string (parallel-job-count))) + '())))) + (delete 'check) ;move after the install phase + (replace 'install + (lambda _ + (invoke "cmake" "--install" "."))) + (add-after 'install 'check + (lambda* (#:key tests? parallel-tests? #:allow-other-keys) + (when tests? + ;; The tests expect to find the modules provided by this + ;; package; extend the environment variables needed to do so. + ;(setenv "CMAKE_PREFIX_PATH" #$output) + (setenv "QML2_IMPORT_PATH" + (string-append #$output "/lib/qt6/qml")) + (setenv "QT_PLUGIN_PATH" + (string-append #$output "/lib/qt6/plugins:" + (getenv "QT_PLUGIN_PATH"))) + (setenv "QT_QPA_PLATFORM" "offscreen") + ;; Skip tests known to fail on GNU/Linux, in a CI context or + ;; due to bitness (see: https://code.qt.io/cgit/qt/qtbase.git + ;; /tree/src/testlib/qtestblacklist.cpp). + (setenv "QTEST_ENVIRONMENT" "linux ci 32bit") + (setenv "HOME" "/tmp") ;a few tests require a writable HOME + (invoke + "ctest" "--output-on-failure" + "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1") + "-E" ;exclude some tests by regex + (string-append + "(" + (string-join + (list + ;; This test is marked as flaky upstream (see: + ;; https://bugreports.qt.io/browse/QTBUG-101488). + "tst_qquickfiledialogimpl" + ;; These tests all fail because 'test_overlappingHandles' + ;; (see: https://bugreports.qt.io/browse/QTBUG-95750). + "tst_basic" + "tst_fusion" + "tst_imagine" + "tst_material" + "tst_universal" + ;; Fails due to using the wrong lib/qt6/qml prefix: + ;; "Warning: Failed to find the following builtins: + ;; builtins.qmltypes, jsroot.qmltypes (so will use + ;; qrc). Import paths used: + ;; /gnu/store/...-qtbase-6.3.1/lib/qt6/qml" + "tst_qmltc_qprocess" + ;; These test fail when running qmlimportscanner; perhaps + ;; an extra CMAKE_PREFIX_PATH location is missing to + ;; correctly locate the imports. + "empty_qmldir" + "qtquickcompiler" + "cmake_tooling_imports" + ;; This test seems to hangs for a long time, possibly + ;; waiting for a killed process, which becomes a zombie in + ;; the build container (perhaps solved after + ;; fixing/applying #30948). + "tst_qqmlpreview") "|") + ")"))))) + (add-after 'install 'delete-installed-tests + (lambda _ + (delete-file-recursively (string-append #$output "/tests"))))))) + (native-inputs + (list ninja + perl + pkg-config + python + qtshadertools + vulkan-headers)) + (inputs + (list libxkbcommon + mesa + qtbase)) + (home-page (package-home-page qtbase)) + (synopsis "Qt QML module (Quick 2)") + (description "The Qt QML module provides a framework for developing +applications and libraries with the QML language. It defines and implements +the language and engine infrastructure, and provides an API to enable +application developers to extend the QML language with custom types and +integrate QML code with JavaScript and C++.") + (license (package-license qtbase)))) + (define-public qtconnectivity (package (inherit qtsvg-5) (name "qtconnectivity") -- 2.36.1