[PATCH] Add SuperCollider, related changes

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Maxim Cournoyer
  • ng0
Owner
unassigned
Submitted by
Maxim Cournoyer
Severity
normal

Debbugs page

Maxim Cournoyer wrote 7 years ago
(name . guix-patches)(address . guix-patches@gnu.org)
87vadsdcfv.fsf@gmail.com
Hello!

After some cooperation with upstream to unbundle dependencies and
enable more tests, I think this SuperCollider package is in good shape!

Here's a screenshot to give you an idea of what the included IDE looks
like:
Attachment: SuperCollider.png
Having a jackd service is not necessary (SuperCollider will start one if
it's not already running), but in case you'd like to have one I've found
the following to work with Shepherd:

Toggle snippet (8 lines)
(define jackd
(make <service>
#:provides '(jackd)
#:requires '()
#:start (make-system-constructor "jackd -d alsa &")
#:stop (make-system-destructor "pkill jackd")))

Thanks,

Maxim
From 59da2743aa90c9fb6f4099303f6481c636fc560e Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Sat, 10 Mar 2018 23:09:56 -0500
Subject: [PATCH] doc: Add index entries for realtime and jackd in the manual.

* doc/guix.texi (Base Services): Add realtime and jackd indices to the
`pam-limits-service' service, as the examples shows how they can be
configured.
---
doc/guix.texi | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (15 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 13187f2e8..ff6a24d07 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10309,6 +10309,8 @@ to add @var{device} to the kernel's entropy pool. The service will fail if
@cindex session limits
@cindex ulimit
@cindex priority
+@cindex realtime
+@cindex jackd
@deffn {Scheme Procedure} pam-limits-service [#:limits @code{'()}]
Return a service that installs a configuration file for the
--
2.16.1
From 8f7d8aeeb455038b223a429d3273a4b42299a85d Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Sun, 4 Mar 2018 22:50:04 -0500
Subject: [PATCH 1/3] gnu: Add boost-sync.

* gnu/packages/boost.scm (boost-sync): New variable.
---
gnu/packages/boost.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index f4ba82810..d347674ab 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,7 +27,10 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages icu4c)
@@ -124,6 +128,38 @@ across a broad spectrum of applications.")
(base32
"1aaw48cmimsskzgiclwn0iifp62a5iw9cbqrhfari876af1828ap"))))))
+(define-public boost-sync
+ (let ((commit "c72891d9b90e2ceb466ec859f640cd012b2d8709")
+ (version "1.55")
+ (revision "1"))
+ (package
+ (name "boost-sync")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/boostorg/sync.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "197mp5z048vz5kv1m4v3jm447l2gqsyv0rbfz11dz0ns343ihbyx"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((source (assoc-ref %build-inputs "source")))
+ (copy-recursively (string-append source "/include")
+ (string-append %output "/include"))))))
+ (home-page "https://github.com/boostorg/sync")
+ (synopsis "Boost.Sync library")
+ (description "The Boost.Sync library provides mutexes, semaphores, locks
+and events and other thread related facilities. Boost.Sync originated from
+Boost.Thread.")
+ (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt")))))
+
(define-public mdds
(package
(name "mdds")
--
2.16.1
From 44dc28c15144f8b3e7bc184a3271b34ba8132a40 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Mon, 5 Mar 2018 20:15:35 -0500
Subject: [PATCH 2/3] gnu: yaml-cpp: Update to 0.6.1.

* gnu/packages/serialization.scm (yaml-cpp): Update to 0.6.1.
---
gnu/packages/serialization.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index f72116575..7d2e88eac 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -248,7 +248,7 @@ that implements both the msgpack and msgpack-rpc specifications.")
(define-public yaml-cpp
(package
(name "yaml-cpp")
- (version "0.5.3")
+ (version "0.6.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -256,7 +256,7 @@ that implements both the msgpack and msgpack-rpc specifications.")
"yaml-cpp-" version ".tar.gz"))
(sha256
(base32
- "1ck7jk0wjfigrf4cgcjqsir4yp1s6vamhhxhpsgfvs46pgm5pk6y"))))
+ "038ddf771d1zrdfiwqzq2lsjdis1fxbaasbdja2w9f1av3k3gv15"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
--
2.16.1
ng0 wrote 7 years ago
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 30851@debbugs.gnu.org)
20180319183124.eqopltnrvcnl35m5@abyayala
Attachment: file
Ludovic Courtès wrote 7 years ago
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 30851-done@debbugs.gnu.org)
87po3wgw4w.fsf@gnu.org
Hi Maxim,

Pushed, thanks!

Ludo’.
Closed
ng0 wrote 7 years ago
Re: bug#30851: [PATCH] Add SuperCollider, related changes
20180322121506.ohvxgjkfxwtutrxq@abyayala
Ludovic Courtès transcribed 46 bytes:
Toggle quote (6 lines)
> Hi Maxim,
>
> Pushed, thanks!
>
> Ludo’.

Should we still split it into Qt and non-Qt then later on as I
wrote?
--
A88C8ADD129828D7EAC02E52E22F9BBFEE348588
Ludovic Courtès wrote 7 years ago
(name . ng0)(address . ng0@n0.is)
87fu4sgl99.fsf@gnu.org
ng0 <ng0@n0.is> skribis:

Toggle quote (10 lines)
> Ludovic Courtès transcribed 46 bytes:
>> Hi Maxim,
>>
>> Pushed, thanks!
>>
>> Ludo’.
>
> Should we still split it into Qt and non-Qt then later on as I
> wrote?

Oh sorry for overlooking that.

I think you’re right, yes. That could be done either with a separate
output or with a separate package, whichever is the most convenient.

Could you look into it, Maxim or ng0?

Thanks,
Ludo’.
ng0 wrote 7 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)
20180322175651.gltojjb5hjvn56kp@abyayala
Ludovic Courtès transcribed 454 bytes:
Toggle quote (14 lines)
> ng0 <ng0@n0.is> skribis:
>
> > Ludovic Courtès transcribed 46 bytes:
> >> Hi Maxim,
> >>
> >> Pushed, thanks!
> >>
> >> Ludo’.
> >
> > Should we still split it into Qt and non-Qt then later on as I
> > wrote?
>
> Oh sorry for overlooking that.

No problem.

Toggle quote (8 lines)
> I think you’re right, yes. That could be done either with a separate
> output or with a separate package, whichever is the most convenient.
>
> Could you look into it, Maxim or ng0?
>
> Thanks,
> Ludo’.

Splitting is what works best here in my opinion. You could take a look at the
open patch for adding qtoctave. People who have to build the variant without
Qt don't have to pull in Qt only to throw it into an output they don't want.
--
A88C8ADD129828D7EAC02E52E22F9BBFEE348588
Maxim Cournoyer wrote 7 years ago
(name . ng0)(address . ng0@n0.is)
87sh8rvw28.fsf@gmail.com
Hello!

ng0 <ng0@n0.is> writes:

Toggle quote (11 lines)
> Ludovic Courtès transcribed 454 bytes:
>> ng0 <ng0@n0.is> skribis:
>>
>> > Ludovic Courtès transcribed 46 bytes:
>> >> Hi Maxim,
>> >>
>> >> Pushed, thanks!
>> >>
>> >> Ludo’.
>> >

Thanks for pushing it!

Toggle quote (19 lines)
>> > Should we still split it into Qt and non-Qt then later on as I
>> > wrote?
>>
>> Oh sorry for overlooking that.
>
> No problem.
>
>> I think you’re right, yes. That could be done either with a separate
>> output or with a separate package, whichever is the most convenient.
>>
>> Could you look into it, Maxim or ng0?
>>
>> Thanks,
>> Ludo’.
>
> Splitting is what works best here in my opinion. You could take a look at the
> open patch for adding qtoctave. People who have to build the variant without
> Qt don't have to pull in Qt only to throw it into an output they don't want.

For splitting to be "cheaper" (in terms of space and computation) than
using a separate output, the origin sources would have to be split into
core/sc-ide parts and be able to build the resulting parts distinctly.

I have to check, but I don't expect the IDE to be buildable reusing
supercollider-core as an input; I'd expect it to depend on many source
files in the project. If so, I'll opt for multiple outputs to spare the
build farm from recompiling/testing the same thing in double, otherwise
I'll opt for splitting.

This might take some time to happen as I have another patch set which is
of higher priority, so anyone should feel free to try beating me to it.

Thanks for reviewing!

Maxim
Ludovic Courtès wrote 7 years ago
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
87vadljtkb.fsf@gnu.org
Hi Maxim,

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

Toggle quote (10 lines)
> For splitting to be "cheaper" (in terms of space and computation) than
> using a separate output, the origin sources would have to be split into
> core/sc-ide parts and be able to build the resulting parts distinctly.
>
> I have to check, but I don't expect the IDE to be buildable reusing
> supercollider-core as an input; I'd expect it to depend on many source
> files in the project. If so, I'll opt for multiple outputs to spare the
> build farm from recompiling/testing the same thing in double, otherwise
> I'll opt for splitting.

Yeah, this sounds like the right criterion to me.

Thanks,
Ludo’.
?
Your comment

This issue is archived.

To comment on this conversation send an email to 30851@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 30851
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help