[PATCH 0/2] Remove monolithic qt5 (and other unused package)

  • Done
  • quality assurance status badge
Details
3 participants
  • Efraim Flashner
  • Hartmut Goebel
  • Ludovic Courtès
Owner
unassigned
Submitted by
Hartmut Goebel
Severity
normal
H
H
Hartmut Goebel wrote on 24 Oct 2019 21:20
(address . guix-patches@gnu.org)
20191024192056.5428-1-h.goebel@crazy-compilers.com
The monolithic `qt` package was only used as a base to inhert `qt-4` from.

For testing this change does not change qt-4 in any way:
- run ./pre-inst-env guix build qt@4.8.7
- apply patch
- again run ./pre-inst-env guix build qt@4.8.7

-> qt@4.8.7 will *not* be build again. To avoid any rebuilds, I even refrined
from sorting the inputs. :-)

The other patch removes a package which has been merged into qtdeclarative as
of Qt 5.8.0 and is not used anywhere.


Hartmut Goebel (2):
gnu: Remove qtdeclarative-render2d.
gnu: Remove monolithic qt5.

gnu/packages/qt.scm | 328 +++++++-------------------------------------
1 file changed, 49 insertions(+), 279 deletions(-)

--
2.21.0
H
H
Hartmut Goebel wrote on 24 Oct 2019 21:23
[PATCH 1/2] gnu: Remove qtdeclarative-render2d.
(address . 37908@debbugs.gnu.org)
20191024192352.5532-1-h.goebel@crazy-compilers.com
This module has been merged into qtdeclarative as of Qt 5.8.0
and is not used anywhere.
---
gnu/packages/qt.scm | 28 ----------------------------
1 file changed, 28 deletions(-)

Toggle diff (41 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 929144f30d..e9dc406328 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1434,34 +1434,6 @@ components. The API consists of over 20 effects provided as separate QML
types. The effects cover functional areas such as blending, masking, blurring,
coloring, and many more.")))
-(define-public qtdeclarative-render2d
- ;; As of Qt-5.8.0 this module has been merged into qtdeclarative
- (package (inherit qtsvg)
- (name "qtdeclarative-render2d")
- (version "5.7.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://download.qt.io/official_releases/qt/"
- (version-major+minor version) "/" version
- "/submodules/" name "-everywhere-src-"
- version ".tar.xz"))
- (sha256
- (base32
- "0zwch9vn17f3bpy300jcfxx6cx9qymk5j7khx0x9k1xqid4166c3"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file-recursively "tools/opengldummy/3rdparty")
- #t))))
- (native-inputs `())
- (inputs
- `(("qtbase" ,qtbase)
- ("qtdeclarative" ,qtdeclarative)))
- (synopsis "Qt Declarative Render module")
- (description "The Qt Declarative Render 2D module provides a Raster
-backend for QtQuick scene graph.")
- (properties `((superseded . ,qtdeclarative)))))
-
(define-public qtgamepad
(package (inherit qtsvg)
(name "qtgamepad")
--
2.21.0
H
H
Hartmut Goebel wrote on 24 Oct 2019 21:23
[PATCH 2/2] gnu: Remove monolithic qt5.
(address . 37908@debbugs.gnu.org)
20191024192352.5532-2-h.goebel@crazy-compilers.com
This package was not used anywhere but as a based for qt-4.

* gnu/packages/qt.scm (qt): Remove, after moving all relevant parts to …
(qt-4): here.
---
gnu/packages/qt.scm | 300 ++++++++------------------------------------
1 file changed, 49 insertions(+), 251 deletions(-)

Toggle diff (364 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index e9dc406328..1bcd1d7eba 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -126,66 +126,26 @@ other text such as code. The syntax uses the syntax of the Django template
system, and the core design of Django is reused in Grantlee.")
(license license:lgpl2.0+)))
-(define-public qt
+(define-public qt-4
(package
(name "qt")
- (version "5.11.3")
- (outputs '("out" "examples"))
+ (version "4.8.7")
(source (origin
(method url-fetch)
- (uri
- (string-append
- "http://download.qt.io/official_releases/qt/"
- (version-major+minor version)
- "/" version
- "/single/qt-everywhere-src-"
- version ".tar.xz"))
+ (uri (string-append "http://download.qt-project.org/official_releases/qt/"
+ (string-copy version 0 (string-rindex version #\.))
+ "/" version
+ "/qt-everywhere-opensource-src-"
+ version ".tar.gz"))
(sha256
(base32
- "0kgzy32s1fr22fxxfhcyncfryb3qxrznlr737r4y5khk4xj1g545"))
+ "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272"))
+ (patches (search-patches "qt4-ldflags.patch"))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Remove qtwebengine, which relies on a bundled copy of
- ;; chromium. Not only does it fail compilation in qt 5.5:
- ;; 3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc:362:10:
- ;; error: cannot convert ‘bool’ to ‘boolean’ in return
- ;; it might also pose security problems.
- ;; Alternatively, we could use the "-skip qtwebengine"
- ;; configuration option.
- (delete-file-recursively "qtwebengine")
- ;; The following snippets are copied from their mondular-qt counterparts.
- (for-each
- (lambda (dir)
- (delete-file-recursively (string-append "qtbase/src/3rdparty/" dir)))
- (list "double-conversion" "freetype" "harfbuzz-ng"
- "libpng" "libjpeg" "pcre2" "sqlite" "xcb"
- "xkbcommon" "zlib"))
- (for-each
- (lambda (dir)
- (delete-file-recursively dir))
- (list "qtimageformats/src/3rdparty"
- "qtmultimedia/examples/multimedia/spectrum/3rdparty"
- "qtwayland/examples"
- "qtscxml/tests/3rdparty"
- "qtcanvas3d/examples/canvas3d/3rdparty"))
- ;; Tests depend on this example, which depends on the 3rd party code.
- (substitute* "qtmultimedia/examples/multimedia/multimedia.pro"
- (("spectrum") "#"))
- (substitute* "qtxmlpatterns/tests/auto/auto.pro"
- (("qxmlquery") "# qxmlquery")
- (("xmlpatterns ") "# xmlpatterns"))
- (substitute* "qtwebglplugin/tests/plugins/platforms/platforms.pro"
- (("webgl") "# webgl"))
- (substitute* "qtscxml/tests/auto/auto.pro"
- (("scion") "#"))
- (substitute* "qtnetworkauth/tests/auto/auto.pro"
- (("oauth1 ") "# oauth1 "))
- (substitute* "qtremoteobjects/tests/auto/qml/qml.pro"
- (("integration") "# integration")
- (("usertypes") "# usertypes"))
- #t))))
- (build-system gnu-build-system)
+ ;; Remove webkit module, which is not built.
+ '(begin (delete-file-recursively "src/3rdparty/webkit")
+ #t))))
(propagated-inputs
`(("mesa" ,mesa)))
(inputs
@@ -200,11 +160,9 @@ system, and the core design of Django is reused in Grantlee.")
("glib" ,glib)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
- ("harfbuzz" ,harfbuzz)
("icu4c" ,icu4c)
("jasper" ,jasper)
("libinput" ,libinput-minimal)
- ("libjpeg" ,libjpeg)
("libmng" ,libmng)
("libpci" ,pciutils)
("libpng" ,libpng)
@@ -226,7 +184,6 @@ system, and the core design of Django is reused in Grantlee.")
("mtdev" ,mtdev)
("mariadb" ,mariadb)
("nss" ,nss)
- ("openssl" ,openssl)
("postgresql" ,postgresql)
("pulseaudio" ,pulseaudio)
("pcre2" ,pcre2)
@@ -239,197 +196,7 @@ system, and the core design of Django is reused in Grantlee.")
("xcb-util-keysyms" ,xcb-util-keysyms)
("xcb-util-renderutil" ,xcb-util-renderutil)
("xcb-util-wm" ,xcb-util-wm)
- ("zlib" ,zlib)))
- (native-inputs
- `(("bison" ,bison)
- ("flex" ,flex)
- ("gperf" ,gperf)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python" ,python-2)
- ("ruby" ,ruby)
- ("vulkan-headers" ,vulkan-headers)
- ("which" ,(@ (gnu packages base) which))))
- (arguments
- `(#:parallel-build? #f ; Triggers race condition in qtbase module on Hydra.
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'patch-bin-sh
- (lambda _
- (substitute* '("qtbase/configure"
- "qtbase/mkspecs/features/qt_functions.prf"
- "qtbase/qmake/library/qmakebuiltins.cpp")
- (("/bin/sh") (which "sh")))
- #t))
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (examples (assoc-ref outputs "examples")))
- (substitute* '("configure" "qtbase/configure")
- (("/bin/pwd") (which "pwd")))
- (substitute* "qtbase/src/corelib/global/global.pri"
- (("/bin/ls") (which "ls")))
- ;; do not pass "--enable-fast-install", which makes the
- ;; configure process fail
- (invoke
- "./configure"
- "-verbose"
- "-prefix" out
- "-docdir" (string-append out "/share/doc/qt5")
- "-headerdir" (string-append out "/include/qt5")
- "-archdatadir" (string-append out "/lib/qt5")
- "-datadir" (string-append out "/share/qt5")
- "-examplesdir" (string-append
- examples "/share/doc/qt5/examples") ; 151MiB
- "-opensource"
- "-confirm-license"
-
- ;; These features require higher versions of Linux than the
- ;; minimum version of the glibc. See
- ;; src/corelib/global/minimum-linux_p.h. By disabling these
- ;; features Qt5 applications can be used on the oldest
- ;; kernels that the glibc supports, including the RHEL6
- ;; (2.6.32) and RHEL7 (3.10) kernels.
- "-no-feature-getentropy" ; requires Linux 3.17
- "-no-feature-renameat2" ; requires Linux 3.16
-
- ;; Do not build examples; for the time being, we
- ;; prefer to save the space and build time.
- "-no-compile-examples"
- ;; Most "-system-..." are automatic, but some use
- ;; the bundled copy by default.
- "-system-sqlite"
- "-system-harfbuzz"
- "-system-pcre"
- ;; explicitly link with openssl instead of dlopening it
- "-openssl-linked"
- ;; explicitly link with dbus instead of dlopening it
- "-dbus-linked"
- ;; don't use the precompiled headers
- "-no-pch"
- ;; drop special machine instructions not supported
- ;; on all instances of the target
- ,@(if (string-prefix? "x86_64"
- (or (%current-target-system)
- (%current-system)))
- '()
- '("-no-sse2"))
- "-no-mips_dsp"
- "-no-mips_dspr2"))))
- (add-after 'install 'patch-mkspecs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (archdata (string-append out "/lib/qt5"))
- (mkspecs (string-append archdata "/mkspecs"))
- (qt_config.prf (string-append
- mkspecs "/features/qt_config.prf")))
- ;; For each Qt module, let `qmake' uses search paths in the
- ;; module directory instead of all in QT_INSTALL_PREFIX.
- (substitute* qt_config.prf
- (("\\$\\$\\[QT_INSTALL_HEADERS\\]")
- "$$clean_path($$replace(dir, mkspecs/modules, ../../include/qt5))")
- (("\\$\\$\\[QT_INSTALL_LIBS\\]")
- "$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
- (("\\$\\$\\[QT_HOST_LIBS\\]")
- "$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
- (("\\$\\$\\[QT_INSTALL_BINS\\]")
- "$$clean_path($$replace(dir, mkspecs/modules, ../../bin))"))
-
- ;; Searches Qt tools in the current PATH instead of QT_HOST_BINS.
- (substitute* (string-append mkspecs "/features/qt_functions.prf")
- (("cmd = \\$\\$\\[QT_HOST_BINS\\]/\\$\\$2")
- "cmd = $$system(which $${2}.pl 2>/dev/null || which $${2})"))
-
- ;; Resolve qmake spec files within qtbase by absolute paths.
- (substitute*
- (map (lambda (file)
- (string-append mkspecs "/features/" file))
- '("device_config.prf" "moc.prf" "qt_build_config.prf"
- "qt_config.prf" "winrt/package_manifest.prf"))
- (("\\$\\$\\[QT_HOST_DATA/get\\]") archdata)
- (("\\$\\$\\[QT_HOST_DATA/src\\]") archdata))
- #t)))
- (add-after 'unpack 'patch-paths
- ;; Use the absolute paths for dynamically loaded libs, otherwise
- ;; the lib will be searched in LD_LIBRARY_PATH which typically is
- ;; not set in guix.
- (lambda* (#:key inputs #:allow-other-keys)
- ;; libresolve
- (let ((glibc (assoc-ref inputs ,(if (%current-target-system)
- "cross-libc" "libc"))))
- (substitute* '("qtbase/src/network/kernel/qdnslookup_unix.cpp"
- "qtbase/src/network/kernel/qhostinfo_unix.cpp")
- (("^\\s*(lib.setFileName\\(QLatin1String\\(\")(resolv\"\\)\\);)" _ a b)
- (string-append a glibc "/lib/lib" b))))
- ;; X11/locale (compose path)
- (substitute* "qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp"
- ;; Don't search in /usr/…/X11/locale, …
- (("^\\s*m_possibleLocations.append\\(QStringLiteral\\(\"/usr/.*/X11/locale\"\\)\\);" line)
- (string-append "// " line))
- ;; … but use libx11's path
- (("^\\s*(m_possibleLocations.append\\(QStringLiteral\\()X11_PREFIX \"(/.*/X11/locale\"\\)\\);)" _ a b)
- (string-append a "\"" (assoc-ref inputs "libx11") b)))
- ;; libGL
- (substitute* "qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp"
- (("^\\s*(QLibrary lib\\(QLatin1String\\(\")(GL\"\\)\\);)" _ a b)
- (string-append a (assoc-ref inputs "mesa") "/lib/lib" b)))
- ;; libXcursor
- (substitute* "qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp"
- (("^\\s*(QLibrary xcursorLib\\(QLatin1String\\(\")(Xcursor\"\\), 1\\);)" _ a b)
- (string-append a (assoc-ref inputs "libxcursor") "/lib/lib" b))
- (("^\\s*(xcursorLib.setFileName\\(QLatin1String\\(\")(Xcursor\"\\)\\);)" _ a b)
- (string-append a (assoc-ref inputs "libxcursor") "/lib/lib" b)))
- #t)))))
- (native-search-paths
- (list (search-path-specification
- (variable "QMAKEPATH")
- (files '("lib/qt5")))
- (search-path-specification
- (variable "QML2_IMPORT_PATH")
- (files '("lib/qt5/qml")))
- (search-path-specification
- (variable "QT_PLUGIN_PATH")
- (files '("lib/qt5/plugins")))
- (search-path-specification
- (variable "XDG_DATA_DIRS")
- (files '("share")))
- (search-path-specification
- (variable "XDG_CONFIG_DIRS")
- (files '("etc/xdg")))))
- (home-page "https://www.qt.io/")
- (synopsis "Cross-platform GUI library")
- (description "Qt is a cross-platform application and UI framework for
- developers using C++ or QML, a CSS & JavaScript like language.")
- (license (list license:lgpl2.1 license:lgpl3))
-
- ;; Qt 4: 'QBasicAtomicPointer' leads to build failures on MIPS;
- ;; see <http://hydra.gnu.org/build/112828>.
- ;; Qt 5: assembler error; see <http://hydra.gnu.org/build/112526>.
- (supported-systems (delete "mips64el-linux" %supported-systems))))
-
-(define-public qt-4
- (package (inherit qt)
- (version "4.8.7")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://download.qt-project.org/official_releases/qt/"
- (string-copy version 0 (string-rindex version #\.))
- "/" version
- "/qt-everywhere-opensource-src-"
- version ".tar.gz"))
- (sha256
- (base32
- "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272"))
- (patches (search-patches "qt4-ldflags.patch"))
- (modules '((guix build utils)))
- (snippet
- ;; Remove webkit module, which is not built.
- '(begin (delete-file-recursively "src/3rdparty/webkit")
- #t))))
- (inputs
- `(,@(fold alist-delete
- (package-inputs qt)
- '("harfbuzz" "libjpeg" "openssl"))
+ ("zlib" ,zlib)
("libjpeg" ,libjpeg-8)
("libsm" ,libsm)
("openssl" ,openssl-1.0)))
@@ -438,15 +205,20 @@ system, and the core design of Django is reused in Grantlee.")
;; We could build it with -std=gnu++98, but then we'll get in trouble with
;; ICU later. Just keep using GCC 5 for now.
("gcc" ,gcc-5)
- ,@(fold alist-delete
- (package-native-inputs qt)
- '("vulkan-headers"))))
-
+ ("bison" ,bison)
+ ("flex" ,flex)
+ ("gperf" ,gperf)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-2)
+ ("ruby" ,ruby)
+ ("which" ,(@ (gnu packages base) which))))
;; Note: there are 37 MiB of examples and a '-exampledir' configure flags,
;; but we can't make them a separate output because "out" and "examples"
;; would refer to each other.
(outputs '("out" ;112MiB core + 37MiB examples
"doc")) ;280MiB of HTML + code
+ (build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -519,7 +291,33 @@ system, and the core design of Django is reused in Grantlee.")
;; different "devices" due to bind-mounts.
(copy-recursively olddoc docdir)
(delete-file-recursively olddoc)
- #t))))))))
+ #t))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "QMAKEPATH")
+ (files '("lib/qt5")))
+ (search-path-specification
+ (variable "QML2_IMPORT_PATH")
+ (files '("lib/qt5/qml")))
+ (search-path-specification
+ (variable "QT_PLUGIN_PATH")
+ (files '("lib/qt5/plugins")))
+ (search-path-specification
+ (variable "XDG_DATA_DIRS")
+ (files '("share")))
+ (search-path-specification
+ (variable "XDG_CONFIG_DIRS")
+ (files '("etc/xdg")))))
+ (home-page "https://www.qt.io/")
+ (synopsis "Cross-platform GUI library")
+ (description "Qt is a cross-platform application and UI framework for
+developers using C++ or QML, a CSS & JavaScript like language.")
+ (license (list license:lgpl2.1 license:lgpl3))
+
+ ;; Qt 4: 'QBasicAtomicPointer' leads to build failures on MIPS;
+ ;; see <http://hydra.gnu.org/build/112828>.
+ ;; Qt 5: assembler error; see <http://hydra.gnu.org/build/112526>.
+ (supported-systems (delete "mips64el-linux" %supported-systems))))
(define-public qtbase
(package
--
2.21.0
E
E
Efraim Flashner wrote on 25 Oct 2019 12:34
Re: [bug#37908] [PATCH 0/2] Remove monolithic qt5 (and other unused package)
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)(address . 37908@debbugs.gnu.org)
20191025103449.GI15460@E5400
On Thu, Oct 24, 2019 at 09:20:56PM +0200, Hartmut Goebel wrote:
Toggle quote (22 lines)
> The monolithic `qt` package was only used as a base to inhert `qt-4` from.
>
> For testing this change does not change qt-4 in any way:
> - run ./pre-inst-env guix build qt@4.8.7
> - apply patch
> - again run ./pre-inst-env guix build qt@4.8.7
>
> -> qt@4.8.7 will *not* be build again. To avoid any rebuilds, I even refrined
> from sorting the inputs. :-)
>
> The other patch removes a package which has been merged into qtdeclarative as
> of Qt 5.8.0 and is not used anywhere.
>
>
> Hartmut Goebel (2):
> gnu: Remove qtdeclarative-render2d.
> gnu: Remove monolithic qt5.
>
> gnu/packages/qt.scm | 328 +++++++-------------------------------------
> 1 file changed, 49 insertions(+), 279 deletions(-)
>

On qtdeclarative-render2d, I think the only reason to possibly keep it
is Debian old-stable (or old-old stable, not sure) packaged the 5.7
series, but I don't think they even used it for anything.

Very much vote yes on monolithic qt-5.

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl2yz8YACgkQQarn3Mo9
g1HBng//RSrHfxFVCeqZsKOniqxS4mTHXWkn6+gUUn33qkP3KBEAkn/VhS3PewqI
UsKDAPMUDHcQgtl1joc0bLAaHTPnd1vRzxZzopPTYoUqjmUL3l9fVEgocQ91Rqbd
mzbQtQ86BTDsKyc286+aTFPzbn1mPk14n4ROra2Toxs1soNpzDWaW0W40cIVvHor
YhbJ7wU6TGVyJBArTx8di6IN//QPMywS/L7qb2qvw+Q+vhpA3pjehs+vOkkZaLcm
9+ZPZpwJ2Ms3nng5bpV8Qw5GLOzmnPBzuH3x8Mprx5H1JMRkryvYMbvRubBpVidL
O3mjbCYxdW5mXtYVan0jGHfOrk6C4LlPHmBzrFwe492sTaOy3ZWNn1QTARDfLvrx
YqlaArkpmwW5kTFHwApZL/t70SH0ApWXX1Dad11oyvE75dYcgRz3w6vrvCRu23FS
KDAXI3L+MAdkbzr74zGzRjKl2fyj9WnIjJnn+hlexH+EjT4bLjrkfdgQyvulVE/1
JXnE1DbbS8VGs5tifegnPCRHltzvioSSoSk5FL1oyhuON1pb1rK4FS3Zm5ZqHiLZ
ossB8jeGpaqkLvcdmWDdwKd/xAwkIFOqgBM4vfW8KUpMN1oVCRC2pH69SnamUgHS
XdPA6X0lKBm9v6+3jQbwMrM9TvcDWCGoFdJx1EUYe1R84QL/DR8=
=Q5KC
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 25 Oct 2019 12:43
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)(address . 37908@debbugs.gnu.org)
20191025104300.GK15460@E5400
On Fri, Oct 25, 2019 at 01:34:49PM +0300, Efraim Flashner wrote:
Toggle quote (30 lines)
> On Thu, Oct 24, 2019 at 09:20:56PM +0200, Hartmut Goebel wrote:
> > The monolithic `qt` package was only used as a base to inhert `qt-4` from.
> >
> > For testing this change does not change qt-4 in any way:
> > - run ./pre-inst-env guix build qt@4.8.7
> > - apply patch
> > - again run ./pre-inst-env guix build qt@4.8.7
> >
> > -> qt@4.8.7 will *not* be build again. To avoid any rebuilds, I even refrined
> > from sorting the inputs. :-)
> >
> > The other patch removes a package which has been merged into qtdeclarative as
> > of Qt 5.8.0 and is not used anywhere.
> >
> >
> > Hartmut Goebel (2):
> > gnu: Remove qtdeclarative-render2d.
> > gnu: Remove monolithic qt5.
> >
> > gnu/packages/qt.scm | 328 +++++++-------------------------------------
> > 1 file changed, 49 insertions(+), 279 deletions(-)
> >
>
> On qtdeclarative-render2d, I think the only reason to possibly keep it
> is Debian old-stable (or old-old stable, not sure) packaged the 5.7
> series, but I don't think they even used it for anything.
>
> Very much vote yes on monolithic qt-5.
>

Actually, we should probably depreciate it and mark it superseded by
qtbase for a while. Packages in channels won't have it ripped out, but
if/when they fail to build they'll find out that its modular qt only
now.

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl2y0bQACgkQQarn3Mo9
g1Esng//WVE85AEgvvIe5xPT7+vlxePSTXq9o5HN/k6u23edmVbf/7QTmrDhjfRJ
B7XK7H6JeGDBrzDhCBHs+EZSgG8CFo8lHzQEP2baXfiryfBRt/3RmH8sik323KYr
3Bv2frqlfh38MMyPZo2XbcaktMSpXuE0lnAqSAMsG1JjSXxzZocZ2xb6p76iukeu
B5mSVU4gT+9C4brESnQViQPvvyid74LbGrBr5oYdKJUyk4qI9fiof9+M4j4TVYcs
LYPbGe0PWTfJMI+n1TtRvKkOVVVEkdNEWY1/qI7y8hHY2VabGT1O7eEf+2QQMtsY
xB+0SoqW+oNJIwpEX+IhNPIMOmk/UPS9TTjiPnpvBCGusb0puh4nHo05+ziz3cPG
t/4f/ZKCJHYBbB4ffyg2JMXfAAcpcaBngphWw6Fjy8iLUnZ7f85MN1g/bjFxaR7/
zEmQ3kf/gd0CWpZMOfaaiamXz2Ifo/lUJEi2HW72iZVo3SsKGolBbBqQAFEiQG5p
8EWjFK2o3bzWz3jugSaiaCCfpJOk4s1QK2WcECGW9RkIKMPdibVh1XaDmFwZPHl2
Zqdvjc4y/jxMocKCJ6E2mx3PXkLj3rOAhGBlyF6ltWcUSD6nD/9PV5eesqYB8zZK
mc5OFeRQbrYfeSs2fRg0ElvOfXlGGGAHFiT7LMwy0nEt2wbHu0o=
=VFoH
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 25 Oct 2019 23:33
(name . Efraim Flashner)(address . efraim@flashner.co.il)
87ftjgldd4.fsf@gnu.org
Hello,

Efraim Flashner <efraim@flashner.co.il> skribis:

Toggle quote (2 lines)
> On Fri, Oct 25, 2019 at 01:34:49PM +0300, Efraim Flashner wrote:

[...]

Toggle quote (6 lines)
>> Very much vote yes on monolithic qt-5.
>>
>
> Actually, we should probably depreciate it and mark it superseded by
> qtbase for a while.

Yeah, I think we should do that and remove in one or two months. (We
can also use ‘define-deprecated’ for the variable itself, like I did for
‘guile-json’, to make sure channel authors notice.)

Thanks,
Ludo’.
H
H
Hartmut Goebel wrote on 28 Oct 2019 10:06
(address . 37908@debbugs.gnu.org)
3917a043-2800-a2e7-781c-48d23f0aed40@crazy-compilers.com
Hi,

Efraim Flashner <efraim@flashner.co.il> wrote:

Toggle quote (4 lines)
> On qtdeclarative-render2d, I think the only reason to possibly keep it
> is Debian old-stable (or old-old stable, not sure) packaged the 5.7
> series, but I don't think they even used it for anything.

We don't have any qt 5.7 package anymore and this package is deprecated
since long. I'm in favor of removing it.


Am 25.10.19 um 23:33 schrieb Ludovic Courtès:

Toggle quote (6 lines)
>> Actually, we should probably depreciate it and mark it superseded by
>> qtbase for a while.
> Yeah, I think we should do that and remove in one or two months. (We
> can also use ‘define-deprecated’ for the variable itself, like I did for
> ‘guile-json’, to make sure channel authors notice.)

Okay for me.

But I don't understand how to use  ‘define-deprecated’. Documentations says:

    "Define a deprecated variable or procedure, along these lines:

  (define-deprecated foo bar 42)
  (define-deprecated (baz x y) qux (qux y x))

And for guile json it is:

   (define-deprecated guile-json guile-json-1 guile-json-1)

Given this, I have *no* clue how to use this function. can anybody
please explain?!

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
L
L
Ludovic Courtès wrote on 1 Nov 2019 11:49
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)
87imo3euqw.fsf@gnu.org
Hi Hartmut,

Toggle quote (12 lines)
> Am 25.10.19 um 23:33 schrieb Ludovic Courtès:
>
>>> Actually, we should probably depreciate it and mark it superseded by
>>> qtbase for a while.
>> Yeah, I think we should do that and remove in one or two months. (We
>> can also use ‘define-deprecated’ for the variable itself, like I did for
>> ‘guile-json’, to make sure channel authors notice.)
>
> Okay for me.
>
> But I don't understand how to use  ‘define-deprecated’.

If you write:

(define-deprecated qt qtbase qtbase)

then every user of variable ‘qt’ will get a warning saying that ‘qt’ is
deprecated and that they should use ‘qtbase’ instead; furthermore, ‘qt’
will be an alias for ‘qtbase’ (which is maybe not a great idea.)

HTH!

Ludo’.
H
H
Hartmut Goebel wrote on 1 Nov 2019 13:18
(name . Ludovic Courtès)(address . ludo@gnu.org)
531d87da-8ad9-e6e9-cfce-9d447e9b5233@crazy-compilers.com
Am 01.11.19 um 11:49 schrieb Ludovic Courtès:
Toggle quote (2 lines)
> (define-deprecated qt qtbase qtbase)

Thanks. Attached please find the updated patch deprecating monolithic qt5.

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
L
L
Ludovic Courtès wrote on 1 Nov 2019 15:14
(name . Hartmut Goebel)(address . h.goebel@crazy-compilers.com)
87eeyrd6q7.fsf@gnu.org
Hi Hartmut,

Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

Toggle quote (10 lines)
> From: Hartmut Goebel <h.goebel@crazy-compilers.com>
> Date: Thu, 24 Oct 2019 20:28:26 +0200
> Subject: [Patch v2 2/2] gnu: Deprecate monolithic qt5.
>
> This package was not used anywhere but as a based for qt-4.
>
> * gnu/packages/qt.scm (qt-4): Copy all relevant package definition
> parts from 'qt'.
> (qt): Define as a deprecated alias for 'qtbase`.

Please ensure that “guix build qt@4 -nd” returns the same derivation
before and after the change.

Toggle quote (2 lines)
> +(define-deprecated qt qtbase qtbase)

Perhaps add a comment above saying that ‘qt’ used to refer to the
monolithic Qt 5.x package?

Otherwise LGTM! Efraim, can you say if this is fine with you?
When Efraim agrees to the change, I guess you can go ahead.

Thank you,
Ludo’.
E
E
Efraim Flashner wrote on 1 Nov 2019 15:39
(name . Ludovic Courtès)(address . ludo@gnu.org)
20191101143954.GK20762@E5400
On Fri, Nov 01, 2019 at 03:14:08PM +0100, Ludovic Courtès wrote:
Toggle quote (26 lines)
> Hi Hartmut,
>
> Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:
>
> > From: Hartmut Goebel <h.goebel@crazy-compilers.com>
> > Date: Thu, 24 Oct 2019 20:28:26 +0200
> > Subject: [Patch v2 2/2] gnu: Deprecate monolithic qt5.
> >
> > This package was not used anywhere but as a based for qt-4.
> >
> > * gnu/packages/qt.scm (qt-4): Copy all relevant package definition
> > parts from 'qt'.
> > (qt): Define as a deprecated alias for 'qtbase`.
>
> Please ensure that “guix build qt@4 -nd” returns the same derivation
> before and after the change.
>
> > +(define-deprecated qt qtbase qtbase)
>
> Perhaps add a comment above saying that ‘qt’ used to refer to the
> monolithic Qt 5.x package?
>
> Otherwise LGTM! Efraim, can you say if this is fine with you?
> When Efraim agrees to the change, I guess you can go ahead.
>

I didn't apply it locally, I can do it in about 36 hours, but it looks
good. IIRC we have qt4 inheriting from qt5, and qtbase was its own
definition so nothing should change on that side.

LGTM

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl28Q7gACgkQQarn3Mo9
g1FuVBAAnrh3XsOC2vLp5or97QeUZXXgj165fEfCz8NMuOOKpmvInUj8fjTJmefL
xoo1QBKM0LSnyWFs1xliJJ6ABTrD45qVxQtQ9PU5MjmW1T4FFK511MEGGf/blEfN
uWdtw5IJgDJUCpYCqyG8ypds/WdjTj6fRd1fbVu4oNVO9SIPVI3X2lS4i9Wjcw9Y
z4Gr18xl1/lxO2s4BiFsiKMx7q1B/xDpOBiYhETAgQlisoIdfy9QBPJyWHpyBWUe
WHMY82QIZB568dElX4Q6uAzHGt9nGnyB7eIE5gjK2ybVLHxtYwbeyTuBm6vJpCRy
XYl1DKiSvJ+lgXRC1Glr8tWRVaI100gYSOouu7zriHE7JVHDzL7n1iuvr73p07Im
exPwxYbaQdJ1hLzJnxSykQKSiZ4NddR+cjAuo/N9zkAtVOYPOzSTO603CdzAHilA
6W955d/Cl2Tts7sErUWrtJKoQeyqRDz6xfM5KySkNVSEBx8zLmHifSqikckt2Pcm
QHaDLVNwd4cz/xTBh4NENnfi3QT++rDMwNbXagYsnjbYVhduQfEW+GpYC0KMbzC9
aXnQnAqZEW10cqnehVb8ex7DscJzBTzTom2jsL9gDz9bXXbNLnnUOX+CZ9QocHwZ
P16QvrnyeIp7nvHe9p11+Oa17mhSg9mG/U/DTye8pRBJ8HzJxRQ=
=qGbE
-----END PGP SIGNATURE-----


H
H
Hartmut Goebel wrote on 1 Nov 2019 17:09
(address . 37908-close@debbugs.gnu.org)
63a06330-1a56-9af8-2a82-0d0c8d280298@crazy-compilers.com
Am 01.11.19 um 15:39 schrieb Efraim Flashner:
Toggle quote (4 lines)
>> Please ensure that “guix build qt@4 -nd” returns the same derivation
>> before and after the change.


Done already before submitting the patch :-) But I repeated it now and
this revealed some error. So many thanks for nagging :-)

Toggle quote (3 lines)
>>
>> Perhaps add a comment above saying that ‘qt’ used to refer to the
>> monolithic Qt 5.x package?
Done.

Toggle quote (5 lines)
> I didn't apply it locally, I can do it in about 36 hours, but it looks
> good. IIRC we have qt4 inheriting from qt5, and qtbase was its own
> definition so nothing should change on that side.


Correct. I added some more explanation to the commit message to make
this more clear.

Pushed as  02511196d99ebc5e385e9dc7f733ffbe848e25ca

--
Regards
Hartmut Goebel

| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
Attachment: signature.asc
?