[PATCH] gnu: supercollider: Enable SCClassLibrary library lookup.

DoneSubmitted by goodoldpaul.
Details
2 participants
  • goodoldpaul
  • Mathieu Othacehe
Owner
unassigned
Severity
normal
G
G
goodoldpaul wrote on 1 May 00:39 +0200
(address . guix-patches@gnu.org)
5985840382a5ec1211b1882c9f07f16f@autistici.org
Hi,This patch fixes the error that prevents SuperCollider from starting. On Guix 229f4fa9522fb56b014ee9c0d8111e8fb6da764d and after having followed instructions from [0], the behavior is the following:
orang3@frastanato ~/code/guix$ guix environment --ad-hoc jack supercollider qjackctlsubstitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%The following derivation will be built: /gnu/store/zzrq8li1plk9ll7yx48lhf27ffk5fvy0-profile.drvThe following profile hooks will be built: /gnu/store/jr02fwv31b0a07fcfkalgjjv1bq7ayx8-manual-database.drv /gnu/store/m4zril057cr1m55g7d56q9wp2mrbhhxg-fonts-dir.drv /gnu/store/mrfrb81vzcjxnj321fzi8nqkpvx6s5zw-info-dir.drv /gnu/store/spp41dzc0bmpbr9wvif8r4r2fs02zgfv-ca-certificate-bundle.drvbuilding CA certificate bundle...building fonts directory...building directory of Info manuals...building database for manual pages...building profile with 3 packages...
orang3@frastanato ~/code/guix [env]$ sclangSC FFT global init: cosTable initialised.compiling class library... Found 718 primitives. Compiling directory '/gnu/store/rrmvq9gzlvijliwlm35xml65jjqq8s29-supercollider-3.10.4/share/SuperCollider/Extensions' Compiling directory '/home/orang3/.local/share/SuperCollider/Extensions'ERROR: There is a discrepancy.numClassDeps 0 gNumClasses 82sc3> s.bootLibrary has not been compiled successfully.
The implemented solution is to hardcode SCClassLibrary's path into SuperCollider.
[0]: https://guix.gnu.org/manual/en/html_node/Base-Services.html#index-realtime
From f825d1872628eea6f29ee7a92b8bbc339935dbcf Mon Sep 17 00:00:00 2001From: Giacomo Leidi <goodoldpaul@autistici.org>Date: Fri, 1 May 2020 00:24:52 +0200Subject: [PATCH] gnu: supercollider: Enable SCClassLibrary library lookup.
This hardcodes the path of SCClassLibrary to fix a lookup error that waspreventing SCServer's boot.
* gnu/packages/audio.scm (supercollider): [source]: Fetch via git.[configure-flags]: Build Release target.[phases]: ...hardcode path using substitute* in a new phase.--- gnu/packages/audio.scm | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-)
Toggle diff (60 lines)diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scmindex e2e276723b..badcf3d5f6 100644--- a/gnu/packages/audio.scm+++ b/gnu/packages/audio.scm@@ -30,6 +30,7 @@ ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>+;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;;@@ -2294,18 +2295,19 @@ background file post-processing.") (name "supercollider") (version "3.10.4") (source (origin- (method url-fetch)- (uri (string-append- "https://github.com/supercollider/supercollider"- "/releases/download/Version-" version- "/SuperCollider-" version "-Source-linux.tar.bz2"))+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/supercollider/supercollider.git")+ (commit (string-append "Version-" version))+ (recursive? #t))) ;; for nova-simd, nova-tt, hidapi, TLSF, oscpack+ (file-name (git-file-name name version)) (sha256 (base32- "0x11g3pfw11m6v18qfpfl5w99dbmf73g4z7wvwhrj1a4qv2dn084"))))+ "0xdg1dx0y0agircnkn4bg3jpw184xc5pn28k7rrzgjh1rdnyzz24")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"- "-DSC_QT=off"+ "-DSC_QT=off" "-DCMAKE_BUILD_TYPE=Release" "-DSC_EL=off") ;scel is packaged individually as ;emacs-scel #:modules ((guix build utils)@@ -2343,7 +2345,17 @@ background file post-processing.") (("add_subdirectory\\(sclang\\)") "")) (delete-file "testsuite/sclang/CMakeLists.txt")- #t)))))+ #t))+ (add-after 'disable-broken-tests 'patch-scclass-dir+ (lambda* (#:key outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (scclass-dir+ (string-append out "/share/SuperCollider/SCClassLibrary")))+ (substitute* "lang/LangSource/SC_LanguageConfig.cpp"+ (((string-append "SC_Filesystem::instance\\(\\)\\.getDirectory"+ "\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME"))+ (string-append "Path(\"" scclass-dir "\")")))+ #t)))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs-- 2.26.2
M
M
Mathieu Othacehe wrote on 3 May 10:34 +0200
Re: [bug#40989] [PATCH] gnu: supercollider: Enable SCClassLibrary library lookup.
(address . goodoldpaul@autistici.org)(address . 40989-done@debbugs.gnu.org)
87a72pzabj.fsf@gmail.com
Hello,
Toggle quote (5 lines)> Library has not been compiled successfully.>> The implemented solution is to hardcode SCClassLibrary's path into> SuperCollider.
Thanks for this patch! I wrapped a few lines, edited a bit the commitmessage and pushed.
Mathieu
Closed
?