* Qt/KDE build system?
@ 2019-11-23 13:12 Hartmut Goebel
2019-11-23 16:53 ` Ludovic Courtès
0 siblings, 1 reply; 3+ messages in thread
From: Hartmut Goebel @ 2019-11-23 13:12 UTC (permalink / raw)
To: Guix-devel
Hi,
I'm currently packaging some KDE applications and find myself adding
this to each of the package descriptions:
(arguments
`(#:modules ((guix build cmake-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build qt-utils))
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-qt-program out "lskat"))
#t)))))
IMHO it would make sense to have some Qt/KDE build system or a flag for
the cmake-build-system so these code replication can be avoided.
How shall de approach this?
--
Regards
Hartmut Goebel
| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Qt/KDE build system?
2019-11-23 13:12 Qt/KDE build system? Hartmut Goebel
@ 2019-11-23 16:53 ` Ludovic Courtès
0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2019-11-23 16:53 UTC (permalink / raw)
To: Hartmut Goebel; +Cc: Guix-devel
Hi!
Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:
> I'm currently packaging some KDE applications and find myself adding
> this to each of the package descriptions:
>
> (arguments
> `(#:modules ((guix build cmake-build-system)
> (guix build qt-utils)
> (guix build utils))
> #:imported-modules (,@%cmake-build-system-modules
> (guix build qt-utils))
> #:phases
> (modify-phases %standard-phases
> (add-after 'install 'wrap-executable
> (lambda* (#:key outputs #:allow-other-keys)
> (let ((out (assoc-ref outputs "out")))
> (wrap-qt-program out "lskat"))
> #t)))))
>
> IMHO it would make sense to have some Qt/KDE build system or a flag for
> the cmake-build-system so these code replication can be avoided.
I agree.
> How shall de approach this?
I think you could come up with a ‘qt-build-system’ (is that an
appropriate name?) that simply adds the things above on top of
‘gnu-build-system’, similar to what ‘glib-or-gtk-build-system’ does.
HTH!
Ludo’.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Qt/KDE build system?
@ 2019-11-26 11:09 Hartmut Goebel
0 siblings, 0 replies; 3+ messages in thread
From: Hartmut Goebel @ 2019-11-26 11:09 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
[-- Attachment #1.1: Type: text/plain, Size: 1014 bytes --]
Hi,
Ludo wrote:
> I think you could come up with a ‘qt-build-system’ (is that an
> appropriate name?) that simply adds the things above on top of
> ‘gnu-build-system’, similar to what ‘glib-or-gtk-build-system’ does.
Many thanks for this valuable hint!
I've build a prototype and found two issues:
1. qt-build-system.scm is basically a copy of cmake-build-system.scm,
with just a few lines changed. IMHO this is not good, esp. in regard to
maintenance. I tried reusing variable using e.g. "(@ (guix build-systm
cmake) default-cmake)", but this said "symbol not found". Any other ideas?
2. The wrapper collects paths from *all* inputs, thus e.g. cmake will
become a dependency of *every* binary packages using qt-build-system.
(The current ((guix build utils) qt-warp) has the same issue.
--
Regards
Hartmut Goebel
| Hartmut Goebel | h.goebel@crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-11-26 11:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-23 13:12 Qt/KDE build system? Hartmut Goebel
2019-11-23 16:53 ` Ludovic Courtès
-- strict thread matches above, loose matches on Subject: below --
2019-11-26 11:09 Hartmut Goebel
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.