* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
@ 2020-04-06 14:16 Alexandros Theodotou
2020-04-06 21:28 ` Alexandros Theodotou
0 siblings, 1 reply; 12+ messages in thread
From: Alexandros Theodotou @ 2020-04-06 14:16 UTC (permalink / raw)
To: 40468
[-- Attachment #1.1: Type: text/plain, Size: 202 bytes --]
Hi,
This patch adds shiru plugins (unofficial LV2 port). No tag is
available yet and I'm using the date instead of a commit in the version
so new versions can be detected easily.
Thanks,
Alex
[-- Attachment #1.2: 0003-gnu-Add-shiru-lv2.patch --]
[-- Type: text/x-patch, Size: 1843 bytes --]
From d4bf736c099c526f0b77b3bab0f8debf149ce5be Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Mon, 6 Apr 2020 15:10:06 +0100
Subject: [PATCH 3/3] gnu: Add shiru-lv2.
* gnu/packages/music.scm (shiru-lv2): New variable.
---
gnu/packages/music.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index e2a3d84572..85e5fa20cb 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5387,3 +5387,33 @@ filtered, pitch shifted and ultimately disintegrated. This is an unofficial
port of the Regrader plugin created by Igorski. It is available as an LV2
plugin and a standalone JACK application.")
(license license:expat)))
+
+(define-public shiru-lv2
+ (package/inherit dragonfly-reverb
+ (name "shiru-lv2")
+ (version "0.0.0-20200406")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linuxmao-org/shiru-plugins.git")
+ (commit "08853f99140012234649e67e5647906fda74f6cc")
+ ;; Bundles a specific commit of the DISTRHO plugin framework.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00rf6im3rhg98h60sgl1r2s37za5vr5h14pybwi07h8zbc8mi6fm"))))
+ (inputs
+ `(("cairo", cairo)
+ ("glu", glu)
+ ("jack", jack-1)
+ ("lv2", lv2)
+ ("mesa", mesa)
+ ("pango", pango)))
+ (synopsis "Audio plugin collection")
+ (description "Shiru plugins is a collection of audio plugins created
+by Shiru, ported to LV2 by the Linux MAO project using the DISTRHO plugin
+framework.")
+ (home-page "http://shiru.untergrund.net/software.shtml")
+ (license license:wtfpl2)))
--
2.26.0
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-06 14:16 [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2 Alexandros Theodotou
@ 2020-04-06 21:28 ` Alexandros Theodotou
2020-04-07 18:25 ` Leo Famulari
0 siblings, 1 reply; 12+ messages in thread
From: Alexandros Theodotou @ 2020-04-06 21:28 UTC (permalink / raw)
To: 40468
[-- Attachment #1.1: Type: text/plain, Size: 132 bytes --]
Reattaching the patch with versioning according to
https://guix.gnu.org/manual/en/html_node/Version-Numbers.html#Version-Numbers
[-- Attachment #1.2: 0003-gnu-Add-shiru-lv2.patch --]
[-- Type: text/x-patch, Size: 1971 bytes --]
From 83ba8ba27d6b6f75eb8cbcbcdf19369903602249 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Mon, 6 Apr 2020 22:26:45 +0100
Subject: [PATCH 3/3] gnu: Add shiru-lv2.
* gnu/packages/music.scm (shiru-lv2): New variable.
---
gnu/packages/music.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index e2a3d84572..78a799a53a 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5387,3 +5387,35 @@ filtered, pitch shifted and ultimately disintegrated. This is an unofficial
port of the Regrader plugin created by Igorski. It is available as an LV2
plugin and a standalone JACK application.")
(license license:expat)))
+
+(define-public shiru-lv2
+ (let ((commit "08853f99140012234649e67e5647906fda74f6cc")
+ (revision "1"))
+ (package/inherit dragonfly-reverb
+ (name "shiru-lv2")
+ (version (git-version "0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linuxmao-org/shiru-plugins.git")
+ (commit commit)
+ ;; Bundles a specific commit of the DISTRHO plugin framework.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00rf6im3rhg98h60sgl1r2s37za5vr5h14pybwi07h8zbc8mi6fm"))))
+ (inputs
+ `(("cairo", cairo)
+ ("glu", glu)
+ ("jack", jack-1)
+ ("lv2", lv2)
+ ("mesa", mesa)
+ ("pango", pango)))
+ (synopsis "Audio plugin collection")
+ (description "Shiru plugins is a collection of audio plugins created
+ by Shiru, ported to LV2 by the Linux MAO project using the DISTRHO plugin
+ framework.")
+ (home-page "http://shiru.untergrund.net/software.shtml")
+ (license license:wtfpl2))))
--
2.26.0
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-06 21:28 ` Alexandros Theodotou
@ 2020-04-07 18:25 ` Leo Famulari
2020-04-07 19:09 ` Alexandros Theodotou
0 siblings, 1 reply; 12+ messages in thread
From: Leo Famulari @ 2020-04-07 18:25 UTC (permalink / raw)
To: Alexandros Theodotou; +Cc: 40468
On Mon, Apr 06, 2020 at 10:28:35PM +0100, Alexandros Theodotou wrote:
> * gnu/packages/music.scm (shiru-lv2): New variable.
Thanks!
> +(define-public shiru-lv2
> + (let ((commit "08853f99140012234649e67e5647906fda74f6cc")
> + (revision "1"))
> + (package/inherit dragonfly-reverb
If inheriting, we should use the regular inherit procedure, like this:
(package
(inherit dragonfly-reverb)
...)
package/inherit is for special cases related to grafting and replacement
packages. [0]
Anyways, it looks like the inherited fields are build-system,
native-inputs, and arguments. Is the idea that there is some build
complication common to the LV2 plugins that we don't want to copy
around? Maybe we could make a build system for them.
Does it work to inherit the custom install phase from dragonfly-reverb?
It seems like the install-file procedures would not apply here.
What do you think? Sorry if I've missed something.
[0]
https://guix.gnu.org/manual/en/html_node/Security-Updates.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-07 18:25 ` Leo Famulari
@ 2020-04-07 19:09 ` Alexandros Theodotou
2020-04-07 19:41 ` Leo Famulari
0 siblings, 1 reply; 12+ messages in thread
From: Alexandros Theodotou @ 2020-04-07 19:09 UTC (permalink / raw)
To: Leo Famulari; +Cc: 40468
[-- Attachment #1: Type: text/plain, Size: 2255 bytes --]
Hi Leo,
> package/inherit is for special cases related to grafting and
> replacement
> packages. [0]
Thank you, I initially thought it was just a shorthand.
> Is the idea that there is some build
> complication common to the LV2 plugins that we don't want to copy
> around? Maybe we could make a build system for them.
>
> Does it work to inherit the custom install phase from dragonfly-
> reverb?
> It seems like the install-file procedures would not apply here.
Plugins that use the DISTRHO plugin framework (
https://github.com/DISTRHO/DPF) use the same build/install procedure,
unless the author makes changes to the Makefiles (like in the case of
the zam-plugins package). Dragonfly reverb and shiru plugins both use
DPF as-is, so the build/install procedures are exactly the same - built
plugins will be produced inside "bin" as binaries, lv2 plugins and vst
plugins.
There are more DPF-based plugins I plan to package that leave the the
DPF Makefiles as-is so I thought inheriting from dragonfly-reverb would
be a nice way to do it.
Thanks,
Alex
On Tue, 2020-04-07 at 14:25 -0400, Leo Famulari wrote:
> On Mon, Apr 06, 2020 at 10:28:35PM +0100, Alexandros Theodotou wrote:
> > * gnu/packages/music.scm (shiru-lv2): New variable.
>
> Thanks!
>
> > +(define-public shiru-lv2
> > + (let ((commit "08853f99140012234649e67e5647906fda74f6cc")
> > + (revision "1"))
> > + (package/inherit dragonfly-reverb
>
> If inheriting, we should use the regular inherit procedure, like
> this:
>
> (package
> (inherit dragonfly-reverb)
> ...)
>
> package/inherit is for special cases related to grafting and
> replacement
> packages. [0]
>
> Anyways, it looks like the inherited fields are build-system,
> native-inputs, and arguments. Is the idea that there is some build
> complication common to the LV2 plugins that we don't want to copy
> around? Maybe we could make a build system for them.
>
> Does it work to inherit the custom install phase from dragonfly-
> reverb?
> It seems like the install-file procedures would not apply here.
>
> What do you think? Sorry if I've missed something.
>
> [0]
> https://guix.gnu.org/manual/en/html_node/Security-Updates.html
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-07 19:09 ` Alexandros Theodotou
@ 2020-04-07 19:41 ` Leo Famulari
2020-04-07 20:04 ` Alexandros Theodotou
0 siblings, 1 reply; 12+ messages in thread
From: Leo Famulari @ 2020-04-07 19:41 UTC (permalink / raw)
To: Alexandros Theodotou; +Cc: 40468
[-- Attachment #1: Type: text/plain, Size: 994 bytes --]
On Tue, Apr 07, 2020 at 08:09:31PM +0100, Alexandros Theodotou wrote:
> Plugins that use the DISTRHO plugin framework (
> https://github.com/DISTRHO/DPF) use the same build/install procedure,
> unless the author makes changes to the Makefiles (like in the case of
> the zam-plugins package). Dragonfly reverb and shiru plugins both use
> DPF as-is, so the build/install procedures are exactly the same - built
> plugins will be produced inside "bin" as binaries, lv2 plugins and vst
> plugins.
>
> There are more DPF-based plugins I plan to package that leave the the
> DPF Makefiles as-is so I thought inheriting from dragonfly-reverb would
> be a nice way to do it.
Okay, feel free to write the packages in whatever way works for you.
> > Does it work to inherit the custom install phase from dragonfly-
> > reverb?
> > It seems like the install-file procedures would not apply here.
However, I tried building it from the patch and the install phase does
fail there.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-07 19:41 ` Leo Famulari
@ 2020-04-07 20:04 ` Alexandros Theodotou
2020-04-07 20:08 ` Leo Famulari
2020-04-08 15:41 ` Leo Famulari
0 siblings, 2 replies; 12+ messages in thread
From: Alexandros Theodotou @ 2020-04-07 20:04 UTC (permalink / raw)
To: Leo Famulari; +Cc: 40468
[-- Attachment #1: Type: text/plain, Size: 580 bytes --]
> > > Does it work to inherit the custom install phase from dragonfly-
> > > reverb?
> > > It seems like the install-file procedures would not apply here.
>
> However, I tried building it from the patch and the install phase
> does
> fail there.
Did you build it after applying the previous 2 patches?
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40466 and
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40467
This is supposed to be merged after those changes. The first patch
(40466) changes the install procedure in dragonfly-reverb, which is
inherited here.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-07 20:04 ` Alexandros Theodotou
@ 2020-04-07 20:08 ` Leo Famulari
2020-04-07 20:14 ` Alexandros Theodotou
2020-04-08 15:41 ` Leo Famulari
1 sibling, 1 reply; 12+ messages in thread
From: Leo Famulari @ 2020-04-07 20:08 UTC (permalink / raw)
To: Alexandros Theodotou; +Cc: 40468
On Tue, Apr 07, 2020 at 09:04:40PM +0100, Alexandros Theodotou wrote:
> > > > Does it work to inherit the custom install phase from dragonfly-
> > > > reverb?
> > > > It seems like the install-file procedures would not apply here.
> >
> > However, I tried building it from the patch and the install phase
> > does
> > fail there.
>
> Did you build it after applying the previous 2 patches?
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40466 and
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40467
>
> This is supposed to be merged after those changes. The first patch
> (40466) changes the install procedure in dragonfly-reverb, which is
> inherited here.
Ah, no, I didn't realize they were related.
It's annoyingly tricky, but patches that depend on each should be in the
same bug ticket. This can be accomplished by first sending an intro
message to get a bug number, then sending the patch series to e.g.
<NNN@debbugs.gnu.org>.
I'll merge them now.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-07 20:04 ` Alexandros Theodotou
2020-04-07 20:08 ` Leo Famulari
@ 2020-04-08 15:41 ` Leo Famulari
2020-04-08 15:58 ` Alexandros Theodotou
2020-04-08 16:34 ` Alexandros Theodotou
1 sibling, 2 replies; 12+ messages in thread
From: Leo Famulari @ 2020-04-08 15:41 UTC (permalink / raw)
To: Alexandros Theodotou; +Cc: 40468
On Tue, Apr 07, 2020 at 09:04:40PM +0100, Alexandros Theodotou wrote:
> This is supposed to be merged after those changes. The first patch
> (40466) changes the install procedure in dragonfly-reverb, which is
> inherited here.
In general, I think that using syntactic inheritance to factorize build
phases is not the right way to go here. It can cause a big headache
later when the time comes to adjust things, and it removes the
advantages of Guix tools such as `guix graph` and `guix refresh`.
I think the better options are to create a new lv2-build-system that
inherits from gnu-build-system and replaces the install phase, or to
just copy and paste the code around. It depends on how many of these
packages we plan to add.
Let me know if you need help with any of that! The font-build-system is
a concise example of making a new build system based on the
gnu-build-system.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-08 15:41 ` Leo Famulari
@ 2020-04-08 15:58 ` Alexandros Theodotou
2020-04-08 16:34 ` Alexandros Theodotou
1 sibling, 0 replies; 12+ messages in thread
From: Alexandros Theodotou @ 2020-04-08 15:58 UTC (permalink / raw)
To: Leo Famulari; +Cc: 40468
[-- Attachment #1: Type: text/plain, Size: 1417 bytes --]
I'd say the eventual amount of packages that would use such a build
system are between 5-10. Should I go ahead and make a dpf-build-system
or do you think we should just copy the code around since it's not that
many packages?
By the way, we used inheritance in the case of other packages such as
gx-* and vl1-emulator/regrader/fogpad, although those are from the same
upstream so maybe it's reasonable there.
On Wed, 2020-04-08 at 11:41 -0400, Leo Famulari wrote:
> On Tue, Apr 07, 2020 at 09:04:40PM +0100, Alexandros Theodotou wrote:
> > This is supposed to be merged after those changes. The first patch
> > (40466) changes the install procedure in dragonfly-reverb, which is
> > inherited here.
>
> In general, I think that using syntactic inheritance to factorize
> build
> phases is not the right way to go here. It can cause a big headache
> later when the time comes to adjust things, and it removes the
> advantages of Guix tools such as `guix graph` and `guix refresh`.
>
> I think the better options are to create a new lv2-build-system that
> inherits from gnu-build-system and replaces the install phase, or to
> just copy and paste the code around. It depends on how many of these
> packages we plan to add.
>
> Let me know if you need help with any of that! The font-build-system
> is
> a concise example of making a new build system based on the
> gnu-build-system.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2.
2020-04-08 15:41 ` Leo Famulari
2020-04-08 15:58 ` Alexandros Theodotou
@ 2020-04-08 16:34 ` Alexandros Theodotou
2020-05-29 1:41 ` bug#40468: " Leo Famulari
1 sibling, 1 reply; 12+ messages in thread
From: Alexandros Theodotou @ 2020-04-08 16:34 UTC (permalink / raw)
To: Leo Famulari; +Cc: 40468
[-- Attachment #1.1: Type: text/plain, Size: 195 bytes --]
I went ahead and removed the inheritance for now and copied the
procedure. I guess we can see in the future if it's necessary to add a
build system or not.
Patch attached.
Thanks,
Alex
[-- Attachment #1.2: 0001-gnu-Add-shiru-lv2.patch --]
[-- Type: text/x-patch, Size: 3394 bytes --]
From 9f9638c67f97546e1077c34006079e09c9823618 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Wed, 8 Apr 2020 17:03:18 +0100
Subject: [PATCH] gnu: Add shiru-lv2.
* gnu/packages/music.scm (shiru-lv2): New variable.
---
gnu/packages/music.scm | 63 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index e2a3d84572..09ce5da4d3 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5387,3 +5387,66 @@ filtered, pitch shifted and ultimately disintegrated. This is an unofficial
port of the Regrader plugin created by Igorski. It is available as an LV2
plugin and a standalone JACK application.")
(license license:expat)))
+
+(define-public shiru-lv2
+ (let ((commit "08853f99140012234649e67e5647906fda74f6cc")
+ (revision "1"))
+ (package
+ (name "shiru-lv2")
+ (version (git-version "0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linuxmao-org/shiru-plugins.git")
+ (commit commit)
+ ;; Bundles a specific commit of the DISTRHO plugin framework.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00rf6im3rhg98h60sgl1r2s37za5vr5h14pybwi07h8zbc8mi6fm"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:make-flags (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ;no configure target
+ (replace 'install ;no install target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (lv2 (string-append out "/lib/lv2")))
+ ;; Install LV2.
+ (for-each
+ (lambda (file)
+ (copy-recursively file
+ (string-append lv2 "/" (basename file))))
+ (find-files "bin" "\\.lv2$" #:directories? #t))
+ ;; Install executables.
+ (for-each
+ (lambda (file)
+ (install-file file bin))
+ (find-files "bin"
+ (lambda (name stat)
+ (and
+ (equal? (dirname name) "bin")
+ (not (string-suffix? ".so" name))
+ (not (string-suffix? ".lv2" name))))))
+ #t))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo", cairo)
+ ("glu", glu)
+ ("jack", jack-1)
+ ("lv2", lv2)
+ ("mesa", mesa)
+ ("pango", pango)))
+ (synopsis "Audio plugin collection")
+ (description "Shiru plugins is a collection of audio plugins created
+ by Shiru, ported to LV2 by the Linux MAO project using the DISTRHO plugin
+ framework.")
+ (home-page "http://shiru.untergrund.net/software.shtml")
+ (license license:wtfpl2))))
--
2.26.0
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-05-29 1:42 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-06 14:16 [bug#40468] [PATCH 3/3] gnu: Add shiru-lv2 Alexandros Theodotou
2020-04-06 21:28 ` Alexandros Theodotou
2020-04-07 18:25 ` Leo Famulari
2020-04-07 19:09 ` Alexandros Theodotou
2020-04-07 19:41 ` Leo Famulari
2020-04-07 20:04 ` Alexandros Theodotou
2020-04-07 20:08 ` Leo Famulari
2020-04-07 20:14 ` Alexandros Theodotou
2020-04-08 15:41 ` Leo Famulari
2020-04-08 15:58 ` Alexandros Theodotou
2020-04-08 16:34 ` Alexandros Theodotou
2020-05-29 1:41 ` bug#40468: " Leo Famulari
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).