From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 19 13:29:47 2019 Received: (at 35866) by debbugs.gnu.org; 19 Dec 2019 18:29:47 +0000 Received: from localhost ([127.0.0.1]:45499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ii0YS-0008WU-44 for submit@debbugs.gnu.org; Thu, 19 Dec 2019 13:29:47 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:60015) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ii0YQ-0008WK-QG for 35866@debbugs.gnu.org; Thu, 19 Dec 2019 13:29:43 -0500 X-Originating-IP: 92.169.151.76 Received: from bababa (lfbn-idf2-1-1340-76.w92-169.abo.wanadoo.fr [92.169.151.76]) (Authenticated sender: mail@ambrevar.xyz) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id C109040006; Thu, 19 Dec 2019 18:29:40 +0000 (UTC) From: Pierre Neidhardt To: Mike Rosset Subject: Re: [bug#35866] [PATCH] gnu: Add qtwebengine. References: <20190523062344.20601-1-mrosset@bufio.org> <20191218203223.22861-1-mike.rosset@gmail.com> Date: Thu, 19 Dec 2019 19:29:40 +0100 In-Reply-To: <20191218203223.22861-1-mike.rosset@gmail.com> (Mike Rosset's message of "Wed, 18 Dec 2019 12:32:23 -0800") Message-ID: <877e2sf9t7.fsf@ambrevar.xyz> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 35866 Cc: 35866@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: 0.3 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Looking good! Comments below: > qtwebengine now inherits qtsvg > > This also uses substitute-keyword-arguments to only replace configure pha= se. I think those 2 lines can be omitted or maybe rephrased. We didn't have qtwebengine before, so you'd need to explain what's up with qtsvg, why it was problematic to use it. > +(define-public qtwebengine > + (package (inherit qtsvg) > + (name "qtwebengine") > + (version (package-version qtbase)) > + (source > + (origin > + (method url-fetch) > + (uri > + (string-append "https://download.qt.io/official_releases/qt/" > + (substring version 0 4) Use (version-major+minor ...) or similar. > + "/" version "/submodules/" > + (string-append name "-everywhere-src-" version) > + ".tar.xz")) > + (sha256 > + (base32 > + "08c60nh95m98mcqk444axs76xi6m9x0wvdxrzk9c2cxwqdbz59fa")))) > + (build-system gnu-build-system) > + (native-inputs > + `(("bison" ,bison) > + ("flex" ,flex) > + ("gperf" ,gperf) > + ("ninja" ,ninja) > + ("perl" ,perl) > + ("pkg-config" ,pkg-config) > + ("python-2" ,python-2) > + ("ruby" ,ruby) > + )) Dangling parentheses. > + (inputs > + `(("alsa-lib" ,alsa-lib) > + ("atk" ,atk) > + ("cups-minimal" ,cups-minimal) > + ("dbus" ,dbus) > + ("ffmpeg" ,ffmpeg) > + ("fontconfig" ,fontconfig) > + ("harbuzz" ,harfbuzz) > + ("icu4c" ,icu4c) > + ("jsoncpp" ,jsoncpp) > + ("lcms" ,lcms) > + ("libcap" ,libcap) > + ("libevent" ,libevent) > + ("libgcrypt" ,libgcrypt) > + ("libjpeg" ,libjpeg-turbo) > + ;; libsrtp not found by qmake. seems to not have config.tests? > + ("libsrtp" ,libsrtp) What does it entail? Is libsrtp ignored then? If there is a problem, please add a "FIXME:" comment or similar. > + ;; FIXME: error: ?struct vpx_svc_ref_frame_config? has no member = named ?frame_flags? > + ;; ("libvpx" ,libvpx) > + ("libwebp" ,libwebp) > + ("libx11" ,libx11) > + ("libxcb" ,libxcb) > + ("libxcomposite" ,libxcomposite) > + ("libxcursor" ,libxcursor) > + ("libxi" ,libxi) > + ("libxkbcommon" ,libxkbcommon) > + ;; libxml not found due to icu not enabled in libxml? You mean libxml2? Is it ignored then? Same as above, prefix with a FIXME if needed. > + ("libxml2" ,libxml2) > + ("libxrandr" ,libxrandr) > + ("libxrender" ,libxrender) > + ("libxslt" ,libxslt) > + ("libxtst" ,libxtst) > + ("mesa" ,mesa) > + ("minizip" ,minizip) > + ("nss" ,nss) > + ("opus" ,opus) > + ("pciutils" ,pciutils) > + ("protobuf" ,protobuf) > + ;; ("pulseaudio" ,pulseaudio) Please explain why you left pulseaudio commented out. > + ("qtbase" ,qtbase) > + ("qtdeclarative" ,qtdeclarative) > + ("qtmultimedia" ,qtmultimedia) > + ("qtwebchannel" ,qtwebchannel) > + ("re2" ,re2) > + ("snappy" ,snappy) > + ("udev" ,eudev) > + ("xcb-util" ,xcb-util))) > + (arguments > + (substitute-keyword-arguments (package-arguments qtsvg) > + ((#:phases phases) > + `(modify-phases ,phases > + (replace 'configure > + (lambda* (#:key inputs outputs #:allow-other-keys) > + ;; Avoids potential race conditions > + (setenv "PYTHONDONTWRITEBYTECODE" "1") > + ;; Make build output less verbose > + (setenv "NINJAFLAGS" "-k1") > + ;; Use this output translations not qtbase This comment is not very clear, maybe it could be rephrased, e.g. "Replace the qtbase translations with those from qtwebengine. > + (substitute* "src/core/web_engine_library_info.cpp" > + (("QLibraryInfo::location\\(QLibraryInfo::TranslationsP= ath\\)") > + (format #f "QLatin1String(\"~a\")" (string-append (ass= oc-ref outputs "out") "/share/qt5/translations"))) > + (("QLibraryInfo::location\\(QLibraryInfo::DataPath\\)") > + (format #f "QLatin1String(\"~a\")" (string-append (ass= oc-ref outputs "out") "/share/qt5")))) > + ;; Substitute full dynamic path for nss > + (substitute* "src/3rdparty/chromium/crypto/nss_util.cc" > + (("libnssckbi.so") > + (string-append (assoc-ref inputs "nss") "/lib/nss/libn= ssckbi.so"))) > + ;; Substitute full dynamic path for udev > + (substitute* "src/3rdparty/chromium/device/udev_linux/ude= v1_loader.cc" > + (("libudev.so.1") > + (string-append (assoc-ref inputs "udev") "/lib/libudev= .so.1"))) > + ;; Valid QT_BUILD_PARTS variables are: > + ;; libs tools tests examples demos docs translations > + (invoke "qmake" "QT_BUILD_PARTS =3D libs tools" "--" > + "--webengine-printing-and-pdf=3Dno" > + "--webengine-ffmpeg=3Dsystem" > + "--webengine-icu=3Dsystem" > + "--webengine-pepper-plugins=3Dno"))))) > + ((#:tests? _ #f) #f))) No tests? > + (native-search-paths > + (list (search-path-specification > + (file-type 'regular) > + (separator #f) > + (variable "QTWEBENGINEPROCESS_PATH") > + (files '("lib/qt5/libexec/QtWebEngineProcess"))))) > + (home-page "https://www.qt.io") > + (synopsis "Qt WebEngine Module") Probably no capital for "module." Great work, thanks again! =2D-=20 Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl37wZQACgkQm9z0l6S7 zH8bdgf+KhuwlDhMjSFEkt8ica7JS7Bb3i+VPFpqcjtNcnGeQFLzG2AoVO6TuhWd CrA+cHWGslfXX2BnbmKovPLU4tlH5sXyRg+TGqhPGfUF2nIMIoawD4XM4jAk6iNx kAaCkGmZIW3u4occ19O6ILamXrgPDy1HtNjKLK1BAU319G/djDrK7XM+cwmIllNU pjtKQ0Orq119n9YFdmfQ9u/zgvyWAWqVdnQxpFiqGgCTrAssK+o2u40rBKv+M5/u tWDclDBUDdiZ2WVogwNi4lDYYrr/KwsuS7MQNNAJploEI89m1k6mJ7HcqZyjGwia IaohVqo9RVUBU7gi1QLbF4lDPJTnZg== =QUz7 -----END PGP SIGNATURE----- --=-=-=--