From unknown Sat Sep 13 02:52:43 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#45575] gnu: Update ocaml-merlin Resent-From: John Soo Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 31 Dec 2020 19:55:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 45575 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 45575@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.160944448925987 (code B ref -1); Thu, 31 Dec 2020 19:55:02 +0000 Received: (at submit) by debbugs.gnu.org; 31 Dec 2020 19:54:49 +0000 Received: from localhost ([127.0.0.1]:41585 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv421-0006l2-KC for submit@debbugs.gnu.org; Thu, 31 Dec 2020 14:54:48 -0500 Received: from lists.gnu.org ([209.51.188.17]:34972) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv41z-0006kt-70 for submit@debbugs.gnu.org; Thu, 31 Dec 2020 14:54:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46874) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kv41y-0000oe-TK for guix-patches@gnu.org; Thu, 31 Dec 2020 14:54:42 -0500 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:41931) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kv41t-0003od-QB for guix-patches@gnu.org; Thu, 31 Dec 2020 14:54:42 -0500 Received: by mail-pl1-x631.google.com with SMTP id y8so10374806plp.8 for ; Thu, 31 Dec 2020 11:54:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version; bh=bp6L8eWAVRspwJv0xepJJNYKM+ouaXP+ym79rY+gEfc=; b=XgmSXwmJSeh7wDvQXc0tsRcrVtMS+Mk0pRfW7lGnAr+KhuvYKcHqhmuWMKcfQ1+Y8e ERMJibOsMfqvRF9OTYDWZO7kdXSn4pExLprLzKK0dwTO5MWUt16o20o++x2/ArcVG2V7 HFo1ui+Tj/Pes5IF1+E+5W+QRY0u+cojOXrT7BCFqSgxP3yphtCfNxq8hwdq3rfoUlGb SLTLN12hfFgMW2/HPzw4hul+Qj4rnJuJ7rz5PPw2F1UpnGEO2bUKwB/hs7O0+RkKmDoA nAjrY3EAI9kXxeG+ypzDG3Zj9EpghN2r/YuoIbjHjz/3Oj0MYB6MAi/nPcrJDfU7Jel2 LNMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=bp6L8eWAVRspwJv0xepJJNYKM+ouaXP+ym79rY+gEfc=; b=JpbeYYsNh6U0S2L0f59Q4PVc4bP10p+BOf/4mHFcIdn3F5HmdWCL5bRDQiNmJxkFRQ AipyBBIm7s0iuf8ztFHSXbzE/9vP2d6utNXWjofI5meB12WDFUq49/xyTHjway/2Ne/2 Mw6JRh0uGifBqHFraDuIbDDE8uwCsLwqJgPbClOUQC02FUTgVL2m35ra/3/G63HbrMsY Aa96G+ttSGo+SCZC2IUYfqdGK3WsPCD8nkEcuBTswWWByLkkk3taP6r/ECXeB8abhigQ 56gCzekaRE5KjNQgMKvuEVlqpTvzCFl+XGuf1a8F6tYiUB4LkVhEOuevqGTzyhWY3rvw 7obw== X-Gm-Message-State: AOAM530Ejf84nRONS68JeoCjRXKW8yeSGuz2TJd9dae/1OSDnWK11RPz OBFK21/li3g5pGVCzJO1P8fQJm/kD01VKw== X-Google-Smtp-Source: ABdhPJwWcD2zDAGVYp7RwYQXQjWRUsykGyqq2Fr8Z3EILXIV8HU9kvbr1/aBB5myKB0iYYBX2JXvGg== X-Received: by 2002:a17:902:9a86:b029:dc:104:1902 with SMTP id w6-20020a1709029a86b02900dc01041902mr38985947plp.50.1609444475770; Thu, 31 Dec 2020 11:54:35 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id z13sm11782103pjt.45.2020.12.31.11.54.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 31 Dec 2020 11:54:34 -0800 (PST) From: John Soo Date: Thu, 31 Dec 2020 11:54:33 -0800 Message-ID: <87eej54upy.fsf@asu.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=jsoo1@asu.edu; helo=mail-pl1-x631.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain Hi Guix, After working with ocaml a little, I felt the need to have a current merlin. I kept the 4.07 variants of packages but I don't understand why they exist. Thanks! John --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-ocaml-dot-merlin-reader.patch >From 1ee786693277dc7ec6b5a02a3f438171736399f0 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 09:25:08 -0800 Subject: [PATCH 1/9] gnu: Add ocaml-dot-merlin-reader. * gnu/packages/ocaml.scm (ocaml-dot-merlin-reader): New variable. --- gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c4900b6214..3c42505d6e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1753,6 +1753,34 @@ generation. It supports programs with single or multiple commands and respects most of the POSIX and GNU conventions.") (license license:bsd-3))) +(define-public ocaml-dot-merlin-reader + (package + (name "ocaml-dot-merlin-reader") + (version "3.4.2") + (source + (origin + (method url-fetch) + (uri "https://github.com/ocaml/merlin/releases/download/v3.4.2/merlin-v3.4.2.tbz") + (sha256 + (base32 + "109ai1ggnkrwbzsl1wdalikvs1zx940m6n65jllxj68in6bvidz1")))) + (build-system dune-build-system) + (inputs + `(("ocaml-biniou" ,ocaml-biniou) + ("ocaml-easy-format" ,ocaml-easy-format) + ("ocaml-yojson" ,ocaml-yojson) + ("ocaml-csexp" ,ocaml-csexp) + ("ocaml-result" ,ocaml-result))) + (arguments + `(#:package "dot-merlin-reader" + #:tests? #f ; No tests for dot-merlin-reader + )) + (home-page "https://github.com/ocaml/merlin") + (synopsis "Reads config files for merlin") + (description + "This package provices config file parsing for merlin.") + (license license:expat))) + (define-public ocaml-fmt (package (name "ocaml-fmt") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnu-Add-ocaml-version.patch >From 7dd63fafcdfb4da6d714aa1b24ca56aa6da74cd4 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:15:17 -0800 Subject: [PATCH 2/9] gnu: Add ocaml-version. * gnu/packages/ocaml.scm (ocaml-version): New variable. --- gnu/packages/ocaml.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 3c42505d6e..601b52648c 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5933,3 +5933,37 @@ provides support to program with time varying values: declarative events and signals. React doesn't define any primitive event or signal, it lets the client chooses the concrete timeline.") (license license:lgpl2.1+))) + +(define-public ocaml-version + (package + (name "ocaml-version") + (version "3.0.0") + (source + (origin + (method url-fetch) + (uri "https://github.com/ocurrent/ocaml-version/releases/download/v3.0.0/ocaml-version-v3.0.0.tbz") + (sha256 + (base32 + "15vk8sh50p3f2mbv8z7mqnx76cffri36f2krp25zkkwix8jg7ci4")))) + (build-system dune-build-system) + (arguments + `(#:test-target "")) + (properties `((upstream-name . "ocaml-version"))) + (home-page + "https://github.com/ocurrent/ocaml-version") + (synopsis + "Manipulate, parse and generate OCaml compiler version strings") + (description + "This library provides facilities to parse version numbers of the OCaml +compiler, and enumerates the various official OCaml releases and configuration +variants. + +OCaml version numbers are of the form major.minor.patch+extra, where the patch +and extra fields are optional. This library offers the following +functionality: + +- Functions to parse and serialise OCaml compiler version numbers. +- Enumeration of official OCaml compiler version releases. +- Test compiler versions for a particular feature (e.g. the @code{bytes} type) +- Opam @url{https://opam.ocaml.org} compiler switch enumeration.") + (license license:expat))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-Add-ocaml-sexplib0.patch >From aa809e99776de22f1c959958d5089520e14a76a3 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:36:57 -0800 Subject: [PATCH 3/9] gnu: Add ocaml-sexplib0. * gnu/packages/ocaml.scm (ocaml-sexplib0): New variable. * gnu/packages/ocaml.scm (ocaml4.07-sexplib0): Inherit from ocaml-sexplib0. --- gnu/packages/ocaml.scm | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 601b52648c..d86555906b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4119,10 +4119,10 @@ an arbitrary number of processes. Cache coherence protocols and mutual exclusion algorithms are typical examples of such systems.") (license license:asl2.0))) -(define-public ocaml4.07-sexplib0 +(define-public ocaml-sexplib0 (package - (name "ocaml4.07-sexplib0") - (version "0.11.0") + (name "ocaml-sexplib0") + (version "0.14.0") (home-page "https://github.com/janestreet/sexplib0") (source (origin @@ -4133,25 +4133,23 @@ exclusion algorithms are typical examples of such systems.") (file-name (git-file-name name version)) (sha256 (base32 - "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi")))) + "06sb3zqhb3dwqsmn15d769hfgqwqhxnm52iqim9l767gvlwpmibb")))) (build-system dune-build-system) (arguments - `(#:tests? #f ;no tests - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + `(#:tests? #f)) (synopsis "Library containing the definition of S-expressions and some base converters") (description "Part of Jane Street's Core library The Core suite of libraries is an industrial strength alternative to OCaml's standard library that was developed by Jane Street, the largest industrial user of OCaml.") -(license license:expat))) + (license license:expat))) -(define-public ocaml4.07-parsexp +(define-public ocaml4.07-sexplib0 (package - (name "ocaml4.07-parsexp") + (inherit ocaml-sexplib0) + (name "ocaml4.07-sexplib0") (version "0.11.0") - (home-page "https://github.com/janestreet/parsexp") + (home-page "https://github.com/janestreet/sexplib0") (source (origin (method git-fetch) @@ -4161,12 +4159,13 @@ that was developed by Jane Street, the largest industrial user of OCaml.") (file-name (git-file-name name version)) (sha256 (base32 - "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz")))) - (build-system dune-build-system) + "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi")))) (arguments - `(#:ocaml ,ocaml-4.07 + `(#:tests? #f ;no tests + #:ocaml ,ocaml-4.07 #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + #:dune ,ocaml4.07-dune)))) + (inputs `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) (synopsis "S-expression parsing library") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0004-gnu-Add-ocaml-mdx.patch >From d9cac4f113ef8536d49b44668f2c2c7dac0fac17 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:43:03 -0800 Subject: [PATCH 4/9] gnu: Add ocaml-mdx. * gnu/packages/ocaml.scm (ocaml-mdx): New variable. --- gnu/packages/ocaml.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index d86555906b..707880dd5d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3965,6 +3965,49 @@ Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test format}. @code{craml} is released as a single binary (called @code{craml}).") (license license:isc))) +(define-public ocaml-mdx + (package + (name "ocaml-mdx") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri "https://github.com/realworldocaml/mdx/releases/download/1.7.0/mdx-1.7.0.tbz") + (sha256 + (base32 + "0vpc30sngl3vpychrfvjwyi93mk311x3f2azlkxasgcj69fq03i7")))) + (build-system dune-build-system) + (inputs + `(("ocaml-fmt" ,ocaml-fmt) + ("ocaml-astring" ,ocaml-astring) + ("ocaml-logs" ,ocaml-logs) + ("ocaml-cmdliner" ,ocaml-cmdliner) + ("ocaml-re" ,ocaml-re) + ("ocaml-result" ,ocaml-result) + ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) + ("ocaml-version" ,ocaml-version) + ("ocaml-odoc" ,ocaml-odoc))) + (native-inputs + `(("ocaml-cppo" ,ocaml-cppo) + ("ocaml-lwt" ,ocaml-lwt) + ("ocaml-alcotest" ,ocaml-alcotest))) + (home-page + "https://github.com/realworldocaml/mdx") + (synopsis + "Executable code blocks inside markdown files") + (description + "This package allows execution of code blocks inside markdown files. +There are (currently) two sub-commands, corresponding to two modes of +operations: pre-processing (@command{ocaml-mdx pp}) and +tests (@command{ocaml-mdx test}). + +The pre-processor mode allows to mix documentation and code, and to practice +\"literate programming\" using markdown and OCaml. + +The test mode allows to ensure that shell scripts and OCaml fragments in the +documentation always stays up-to-date.") + (license license:isc))) + (define-public ocaml4.07-merlin (package (name "ocaml4.07-merlin") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0005-gnu-Add-ocaml-parsexp.patch >From 0f27bcdf4c47b9e4928589ac1dc0b48225d19d05 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:38:32 -0800 Subject: [PATCH 5/9] gnu: Add ocaml-parsexp. * gnu/packages/ocaml.scm (ocaml-parsexp): New variable. * gnu/packages/ocaml.scm (ocaml4.07-parsexp): Inherit from ocaml-parsexp. --- gnu/packages/ocaml.scm | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 707880dd5d..b708f9398e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4209,8 +4209,25 @@ that was developed by Jane Street, the largest industrial user of OCaml.") #:findlib ,ocaml4.07-findlib #:dune ,ocaml4.07-dune)))) +(define-public ocaml-parsexp + (package + (name "ocaml-parsexp") + (version "0.14.0") + (home-page "https://github.com/janestreet/parsexp") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rvbrf8ggh2imsbhqi15jzyyqbi3m5hzvy2iy2r4skx6m102mzpd")))) + (build-system dune-build-system) (inputs - `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) + `(("ocaml-base" ,ocaml-base) + ("ocaml-sexplib0" ,ocaml-sexplib0))) (synopsis "S-expression parsing library") (description "This library provides generic parsers for parsing S-expressions from @@ -4239,11 +4256,12 @@ s-expressions from files or other external sources, you should use parsexp_io.") (license license:expat))) -(define-public ocaml4.07-sexplib +(define-public ocaml4.07-parsexp (package - (name "ocaml4.07-sexplib") + (inherit ocaml-parsexp) + (name "ocaml4.07-parsexp") (version "0.11.0") - (home-page "https://github.com/janestreet/sexplib") + (home-page "https://github.com/janestreet/parsexp") (source (origin (method git-fetch) @@ -4253,12 +4271,12 @@ parsexp_io.") (file-name (git-file-name name version)) (sha256 (base32 - "1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb")))) - (build-system dune-build-system) + "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz")))) (arguments `(#:ocaml ,ocaml-4.07 #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + #:dune ,ocaml4.07-dune)))) + (propagated-inputs `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) ("ocaml-parsexp" ,ocaml4.07-parsexp) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0006-gnu-Add-ocaml-sexplib.patch >From 81f930085e185efa330f92f5cf88529880a72b10 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:39:49 -0800 Subject: [PATCH 6/9] gnu: Add ocaml-sexplib. * gnu/packages/ocaml.scm (ocaml-sexplib): New variable. * gnu/packages/ocaml.scm (ocaml4.07-sexplib): Inherit from ocaml-sexplib. --- gnu/packages/ocaml.scm | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index b708f9398e..4774a70d46 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4277,10 +4277,27 @@ parsexp_io.") #:findlib ,ocaml4.07-findlib #:dune ,ocaml4.07-dune)))) +(define-public ocaml-sexplib + (package + (name "ocaml-sexplib") + (version "0.14.0") + (home-page "https://github.com/janestreet/sexplib") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03c3j1ihx4pjbb0x3arrcif3wvp3iva2ivnywhiak4mbbslgsnzr")))) + (build-system dune-build-system) (propagated-inputs - `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) - ("ocaml-parsexp" ,ocaml4.07-parsexp) - ("ocaml-sexplib0" ,ocaml4.07-sexplib0))) + `(("ocaml-base" ,ocaml-base) + ("ocaml-num" ,ocaml-num) + ("ocaml-parsexp" ,ocaml-parsexp) + ("ocaml-sexplib0" ,ocaml-sexplib0))) (synopsis "Library for serializing OCaml values to and from S-expressions") (description @@ -4288,10 +4305,20 @@ parsexp_io.") functionality for parsing and pretty-printing s-expressions.") (license license:expat))) -(define-public ocaml4.07-base +(define-public ocaml4.07-sexplib (package - (name "ocaml4.07-base") - (version "0.11.1") + (inherit ocaml-sexplib) + (name "ocaml4.07-sexplib") + (version "0.11.0") + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) + (propagated-inputs + `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) + ("ocaml-parsexp" ,ocaml4.07-parsexp) + ("ocaml-sexplib0" ,ocaml4.07-sexplib0))))) + (home-page "https://github.com/janestreet/base") (source (origin -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0007-gnu-Add-ocaml-base.patch >From 17357e14c1ce843d4ee51d99ec85884d1dbe2f5f Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:40:59 -0800 Subject: [PATCH 7/9] gnu: Add ocaml-base. * gnu/packages/ocaml.scm (ocaml-base): New variable. * gnu/packages/ocaml.scm (ocaml4.07-base): Inherit from ocaml-base. --- gnu/packages/ocaml.scm | 42 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 4774a70d46..e0882d8f26 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4319,6 +4319,10 @@ functionality for parsing and pretty-printing s-expressions.") ("ocaml-parsexp" ,ocaml4.07-parsexp) ("ocaml-sexplib0" ,ocaml4.07-sexplib0))))) +(define-public ocaml-base + (package + (name "ocaml-base") + (version "0.13.2") (home-page "https://github.com/janestreet/base") (source (origin @@ -4329,20 +4333,17 @@ functionality for parsing and pretty-printing s-expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir")))) + "0x6r37a8j9z9kvx9syg6qkm7zgmjg41m40hfshls98h61zlzp3gv")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) + `(("ocaml-sexplib0" ,ocaml-sexplib0))) (arguments `(#:phases (modify-phases %standard-phases (replace 'build ;; make warnings non fatal (jbuilder behaviour) (lambda _ - (invoke "dune" "build" "@install" "--profile=release")))) - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + (invoke "dune" "build" "@install" "--profile=release")))))) (synopsis "Full standard library replacement for OCaml") (description @@ -4357,6 +4358,35 @@ provided by companion libraries such as @url{https://github.com/janestreet/stdio, ocaml-stdio}.") (license license:expat))) +(define-public ocaml4.07-base + (package + (inherit ocaml-base) + (name "ocaml4.07-base") + (version "0.11.1") + (home-page "https://github.com/janestreet/base") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir")))) + (propagated-inputs + `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; make warnings non fatal (jbuilder behaviour) + (lambda _ + (invoke "dune" "build" "@install" "--profile=release")))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)))) + (define-public ocaml4.07-compiler-libs (package (name "ocaml4.07-compiler-libs") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0008-gnu-Add-ocaml-odoc.patch >From ba40db7ba6d91dc63ddeff68e24fae355a9e8769 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:42:34 -0800 Subject: [PATCH 8/9] gnu: Add ocaml-odoc. * gnu/packages/ocaml.scm (ocaml-odoc): New variable. --- gnu/packages/ocaml.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index e0882d8f26..2975f866c9 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2424,6 +2424,39 @@ without a complete in-memory representation of the data.") multitude of other network protocols (FTP/SMTP/RTSP/etc).") (license license:isc))) +(define-public ocaml-odoc + (package + (name "ocaml-odoc") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri "https://github.com/ocaml/odoc/releases/download/1.5.2/odoc-1.5.2.tbz") + (sha256 + (base32 + "0wa87h8q6izcc6rkzqn944vrb3hmc21lf0d0rmr8rhhbcvr66i6j")))) + (build-system dune-build-system) + (inputs + `(("ocaml-astring" ,ocaml-astring) + ("ocaml-cmdliner" ,ocaml-cmdliner) + ("ocaml-fpath" ,ocaml-fpath) + ("ocaml-result" ,ocaml-result) + ("ocaml-tyxml" ,ocaml-tyxml) + ("ocaml-alcotest" ,ocaml-alcotest) + ("ocaml-markup" ,ocaml-markup) + ("ocaml-sexplib" ,ocaml-sexplib))) + (native-inputs + `(("ocaml-cppo" ,ocaml-cppo) + ("ocaml-bisect-ppx" ,ocaml-bisect-ppx))) + ;; FIXME: Needs some extra inputs for tests to succeed + (arguments `(#:tests? #f)) + (home-page "http://github.com/ocaml/odoc") + (synopsis "OCaml documentation generator") + (description + "Odoc is a documentation generator for OCaml. It reads doc comments, +delimited with @code{(** ... *)}, and outputs HTML.") + (license license:isc))) + (define-public ocaml-base64 (package (name "ocaml-base64") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0009-gnu-Add-ocaml-merlin.patch >From 4427d0313fc07a8a2ff342575c7fe1e9c2a3b912 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:48:15 -0800 Subject: [PATCH 9/9] gnu: Add ocaml-merlin. * gnu/packages/ocaml.scm (ocaml-merlin): New variable. * gnu/packages/ocaml.scm (ocaml4.07-merlin): Inerhit from ocaml-merlin. --- gnu/packages/ocaml.scm | 47 +++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2975f866c9..bb5d6c4e92 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -71,6 +71,7 @@ #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages virtualization) + #:use-module (gnu packages web) #:use-module (gnu packages web-browsers) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -4041,8 +4042,45 @@ The test mode allows to ensure that shell scripts and OCaml fragments in the documentation always stays up-to-date.") (license license:isc))) +(define-public ocaml-merlin + (package + (name "ocaml-merlin") + (version "3.4.2") + (home-page "https://ocaml.github.io/merlin/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/merlin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj")))) + (build-system dune-build-system) + (inputs + `(("ocaml-biniou" ,ocaml-biniou) + ("ocaml-yojson" ,ocaml-yojson) + ("ocaml-easy-format" ,ocaml-easy-format))) + (native-inputs + `(("ocaml-findlib" ,ocaml-findlib) + ("ocaml-mdx" ,ocaml-mdx) + ("jq" ,jq))) + (propagated-inputs + `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader))) + (arguments + `(#:package "merlin" + #:test-target "tests")) + (synopsis "Context sensitive completion for OCaml in Vim and Emacs") + (description "Merlin is an editor service that provides modern IDE +features for OCaml. Emacs and Vim support is provided out-of-the-box. +External contributors added support for Visual Studio Code, Sublime Text and +Atom.") + (license license:expat))) + (define-public ocaml4.07-merlin (package + (inherit ocaml-merlin) (name "ocaml4.07-merlin") (version "3.2.2") (home-page "https://ocaml.github.io/merlin/") @@ -4056,7 +4094,6 @@ documentation always stays up-to-date.") (sha256 (base32 "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb")))) - (build-system dune-build-system) (inputs `(("ocaml-biniou" ,(package-with-ocaml4.07 ocaml-biniou)) ("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson)) @@ -4068,13 +4105,7 @@ documentation always stays up-to-date.") #:tests? #f ;; Errors in tests in version 3.2.2 #:ocaml ,ocaml-4.07 #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) - (synopsis "Context sensitive completion for OCaml in Vim and Emacs") - (description "Merlin is an editor service that provides modern IDE -features for OCaml. Emacs and Vim support is provided out-of-the-box. -External contributors added support for Visual Studio Code, Sublime Text and -Atom.") - (license license:expat))) + #:dune ,ocaml4.07-dune)))) (define-public ocaml4.07-gsl (package -- 2.29.2 --=-=-=-- From unknown Sat Sep 13 02:52:43 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#45575] Add emacs-merlin References: <87eej54upy.fsf@asu.edu> In-Reply-To: <87eej54upy.fsf@asu.edu> Resent-From: John Soo Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 31 Dec 2020 22:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45575 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 45575@debbugs.gnu.org Received: via spool by 45575-submit@debbugs.gnu.org id=B45575.16094520605277 (code B ref 45575); Thu, 31 Dec 2020 22:01:01 +0000 Received: (at 45575) by debbugs.gnu.org; 31 Dec 2020 22:01:00 +0000 Received: from localhost ([127.0.0.1]:41775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv60B-0001N2-Mv for submit@debbugs.gnu.org; Thu, 31 Dec 2020 17:01:00 -0500 Received: from mail-pf1-f178.google.com ([209.85.210.178]:41785) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv608-0001Mn-Na for 45575@debbugs.gnu.org; Thu, 31 Dec 2020 17:00:57 -0500 Received: by mail-pf1-f178.google.com with SMTP id t8so11771245pfg.8 for <45575@debbugs.gnu.org>; Thu, 31 Dec 2020 14:00:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version; bh=amiUHbExw46gaxozv/kEDkZJuDb3CFREZQprEbfmh4s=; b=L/1snKNL09cW9b4RPkhOc3QHpdMRlH9NutQVy0y89pnGoabyleRiYcFx6B2IPRbEBB /0WWrcnjs0ysVK92YxUYNDinncUYMHWR0sPp0aqFmjeI2LaqHUDGa0XV9rQI0gGxgKGq leElW475N87Ot046LVILP85IfD9YnclZPGgxLQfqG6bChdLi4jp9b7V2rvXQR0qO9+ZS oRO2lSW6pGnw/f/Heto9iregxsuUwL3z7xAbKYCtPOXa7ek5GbD/QsvaLXBzIVnJYvat qmnrFK/1EEAAn958bp/Kwb9zGhUDRFhWfgYDBiJ1VeojMsMrnRs45ACkpaq3f91t2OzS p2ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=amiUHbExw46gaxozv/kEDkZJuDb3CFREZQprEbfmh4s=; b=nqrkcq1JT7XnBOf0KQVfkhByXaiNp+FiHATGHyrp9aPPlODuu8l4ymFgPq8GsCblME YT96RhnSoT0F+ReUGH+79hQo+c7s1qTnZkeTVVxAtr2bALZACPmbrf5u2a7tWFAV8uTB wKJXXEHAmAoqsA1Bb55/d+Edz6/H1B8RMWqsiulF+iNlSGFtR5ZnAnLrXz0POAuvnRfC WATg5hjlQfzJx/3SKQ7RLE5vvavDe8gTIqIYdiYH0Etvyh+2Br3dNiT/Fypm/TsmFoXh KVe6u8NWgD1kDnmxZKh16SwxzFF6v0gco5Be6jjsHpcReU+1ZOshpI7QvMqnEgEiCVq6 6j5g== X-Gm-Message-State: AOAM530TzrZRxWleqyl2T2V3bLaQFaMpu0yuwdOJNUXLLp8g7+GfB6Gw mc5lsr5JguOMR2D+nMatPMv3LKKEsBigzA== X-Google-Smtp-Source: ABdhPJyguCDYATWWBu/sRbsssEsLvVZ+UrF+HuK3jXOPnbHV9JsZdJpraxTaiPUE1uQnmH7nM5jojg== X-Received: by 2002:a63:ac19:: with SMTP id v25mr16319490pge.258.1609452050417; Thu, 31 Dec 2020 14:00:50 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id z125sm44714000pfz.121.2020.12.31.14.00.48 for <45575@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 31 Dec 2020 14:00:49 -0800 (PST) From: John Soo Date: Thu, 31 Dec 2020 14:00:48 -0800 Message-ID: <87ble94ovj.fsf@asu.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain I wanted to make autoloads and byte-compile the elisp provided by merlin. After fiddling with the emacs output of ocaml-merlin, I found it much easier to just make an emacs package for merlin. There is further work to do to make a vim merlin package but I am not familiar enough with vim to continue. - John --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-emacs-merlin.patch >From 902849f8b8f586347dfd7810c46acc754a323592 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 13:34:57 -0800 Subject: [PATCH] gnu: Add emacs-merlin. * gnu/packages/emacs-xyz.scm (emacs-merlin): New variable. * gnu/packages/ocaml.scm (ocaml-merlin): [arguments] Remove elisp from output, [description] Note location of emacs package. --- gnu/packages/emacs-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++++ gnu/packages/ocaml.scm | 11 +++++++++-- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0d8d6837e1..a97bd5ce1e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -135,6 +135,7 @@ #:use-module (gnu packages haskell-apps) #:use-module (gnu packages ibus) #:use-module (gnu packages ncurses) + #:use-module (gnu packages ocaml) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages telephony) @@ -646,6 +647,44 @@ process, passing on the arguments as command line arguments.") "Magit-annex adds a few git-annex operations to the Magit interface.") (license license:gpl3+)))) +(define-public emacs-merlin + (package + (name "emacs-merlin") + (version "3.4.2") + (home-page "https://ocaml.github.io/merlin/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/merlin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-auto-complete" ,emacs-auto-complete) + ("emacs-company" ,emacs-company) + ("emacs-iedit" ,emacs-iedit) + ("ocaml-merlin" ,ocaml-merlin))) + (arguments + `(#:tests? #f ; No tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'setup-emacs-build + (lambda* (#:key inputs #:allow-other-keys) + (let ((merlin (assoc-ref inputs "ocaml-merlin"))) + (chdir "emacs") + (for-each make-file-writable (find-files "." "\\.el$")) + (emacs-substitute-variables "merlin.el" + ("merlin-command" + (string-append merlin "/bin/ocamlmerlin"))))))))) + (synopsis "Context sensitive completion for OCaml in Emacs") + (description "Merlin is an editor service that provides modern IDE +features for OCaml. This package provides the Emacs support for Merlin.") + (license license:expat))) + (define-public emacs-minions (package (name "emacs-minions") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index bb5d6c4e92..5f8cf4613d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4070,12 +4070,19 @@ documentation always stays up-to-date.") `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader))) (arguments `(#:package "merlin" - #:test-target "tests")) + #:test-target "tests" + #:phases + ;; FIXME: Make merlin.vim into a separate package. + (modify-phases %standard-phases + (add-after 'install 'remove-emacs + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/share/emacs"))))))) (synopsis "Context sensitive completion for OCaml in Vim and Emacs") (description "Merlin is an editor service that provides modern IDE features for OCaml. Emacs and Vim support is provided out-of-the-box. External contributors added support for Visual Studio Code, Sublime Text and -Atom.") +Atom. To install the emacs specific package, use @code{emacs-ocaml-merlin}.") (license license:expat))) (define-public ocaml4.07-merlin -- 2.29.2 --=-=-=-- From unknown Sat Sep 13 02:52:43 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#45575] Add emacs-merlin References: <87eej54upy.fsf@asu.edu> In-Reply-To: <87eej54upy.fsf@asu.edu> Resent-From: John Soo Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 31 Dec 2020 22:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45575 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 45575@debbugs.gnu.org Received: via spool by 45575-submit@debbugs.gnu.org id=B45575.16094523545706 (code B ref 45575); Thu, 31 Dec 2020 22:06:02 +0000 Received: (at 45575) by debbugs.gnu.org; 31 Dec 2020 22:05:54 +0000 Received: from localhost ([127.0.0.1]:41779 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv64v-0001Tu-H3 for submit@debbugs.gnu.org; Thu, 31 Dec 2020 17:05:53 -0500 Received: from mail-pj1-f47.google.com ([209.85.216.47]:55753) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv64p-0001Te-Md for 45575@debbugs.gnu.org; Thu, 31 Dec 2020 17:05:52 -0500 Received: by mail-pj1-f47.google.com with SMTP id lb18so5428429pjb.5 for <45575@debbugs.gnu.org>; Thu, 31 Dec 2020 14:05:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version; bh=4HvycHCzpToGf9i0uPHGdI/1utLRGBhuI1nHcjL+DXY=; b=SW/eamklqr/NCzSeRXPOjdHGNst/AH+6DmvWYBGiQt1oSYclnQ49tkrL4hOvqK5r8h yQhavy6SRSr8a68P7N+lacvEAsz0s0a4TqeKZ3gDDsYoBDEJ8EbxV40vnHYBDR2R/VRX /Hp6N4hCHOphsYTBKjSx/IS7NfPKnKE18llwBrFIOmH5rZpXlIwKCk0WkyruraYxrT6I HN3t7Q857ot12kvIiyS2B+EO7FzFcZSFwnVttvWzrrZRj2b8pEOE7/pFh2/uKV7BRudd p4/cDiH/nIt/W6a+0U1HEtIy0MkPf5tBSWMQeu7Lc79RVs5kWHqZKmALjwmKcEDuylyA AWrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=4HvycHCzpToGf9i0uPHGdI/1utLRGBhuI1nHcjL+DXY=; b=TaX9WzFuioV6G08nmwaG26YKOxyjefHzGcHebFYR1tn+pkC5Q919fE9BQVWJPsSRO+ 0BU0qL5miyhIB6LH3O7NJtqi2hGMi5bpGZc/dkEJHap/fJHn5cqQ/gKBMxH76yUaHa2f TKC9NeESxlunALDBnkJPBvz54xn1GScCnb1Bgfpc63d71leVI4tgFLPVQ70lwp5rPJ3S uK70PmOzE+UhI4/9uH94oBL+58at1o8q2COJEYvRLex238LS9dMwfu0o5rk4J+PbSXkX DawoZgJb+yikcXj+aWqz9kntaDIZTaQxi+IxGa8+2Wam5Ddpjsjtj5LYgb6315ifO1lz ot0w== X-Gm-Message-State: AOAM533BIwEqFcnXK3qDRiEV+FhDLos6cwHwgknvkaRUcl+ywnPZD236 vvfcdLByjhWx9URig/gaK5W8pS/Bo8eTGw== X-Google-Smtp-Source: ABdhPJw5tIwQU2wC1Ac+lGNx10MHuDp57lmW4FQUUMfLfph/Dqk+Xqrn4fpNztjiIgYpU3K6TaDtEQ== X-Received: by 2002:a17:902:8503:b029:dc:44f:62d8 with SMTP id bj3-20020a1709028503b02900dc044f62d8mr58631633plb.34.1609452341858; Thu, 31 Dec 2020 14:05:41 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id t7sm46927169pfe.179.2020.12.31.14.05.40 for <45575@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 31 Dec 2020 14:05:41 -0800 (PST) From: John Soo Date: Thu, 31 Dec 2020 14:05:40 -0800 Message-ID: <878s9d4onf.fsf@asu.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Oops, I forgot to update the description of ocaml-merlin to reflect the emacs package name. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-emacs-merlin.patch >From 26c6ad5f03381277b079165c27f75a12758e0ba5 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 13:34:57 -0800 Subject: [PATCH] gnu: Add emacs-merlin. * gnu/packages/emacs-xyz.scm (emacs-merlin): New variable. * gnu/packages/ocaml.scm (ocaml-merlin): [arguments] Remove elisp from output, [description] Note location of emacs package. --- gnu/packages/emacs-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++++ gnu/packages/ocaml.scm | 11 +++++++++-- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0d8d6837e1..a97bd5ce1e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -135,6 +135,7 @@ #:use-module (gnu packages haskell-apps) #:use-module (gnu packages ibus) #:use-module (gnu packages ncurses) + #:use-module (gnu packages ocaml) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages telephony) @@ -646,6 +647,44 @@ process, passing on the arguments as command line arguments.") "Magit-annex adds a few git-annex operations to the Magit interface.") (license license:gpl3+)))) +(define-public emacs-merlin + (package + (name "emacs-merlin") + (version "3.4.2") + (home-page "https://ocaml.github.io/merlin/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/merlin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-auto-complete" ,emacs-auto-complete) + ("emacs-company" ,emacs-company) + ("emacs-iedit" ,emacs-iedit) + ("ocaml-merlin" ,ocaml-merlin))) + (arguments + `(#:tests? #f ; No tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'setup-emacs-build + (lambda* (#:key inputs #:allow-other-keys) + (let ((merlin (assoc-ref inputs "ocaml-merlin"))) + (chdir "emacs") + (for-each make-file-writable (find-files "." "\\.el$")) + (emacs-substitute-variables "merlin.el" + ("merlin-command" + (string-append merlin "/bin/ocamlmerlin"))))))))) + (synopsis "Context sensitive completion for OCaml in Emacs") + (description "Merlin is an editor service that provides modern IDE +features for OCaml. This package provides the Emacs support for Merlin.") + (license license:expat))) + (define-public emacs-minions (package (name "emacs-minions") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index bb5d6c4e92..3e71f17dc8 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4070,12 +4070,19 @@ documentation always stays up-to-date.") `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader))) (arguments `(#:package "merlin" - #:test-target "tests")) + #:test-target "tests" + #:phases + ;; FIXME: Make merlin.vim into a separate package. + (modify-phases %standard-phases + (add-after 'install 'remove-emacs + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/share/emacs"))))))) (synopsis "Context sensitive completion for OCaml in Vim and Emacs") (description "Merlin is an editor service that provides modern IDE features for OCaml. Emacs and Vim support is provided out-of-the-box. External contributors added support for Visual Studio Code, Sublime Text and -Atom.") +Atom. To install the emacs specific package, use @code{emacs-merlin}.") (license license:expat))) (define-public ocaml4.07-merlin -- 2.29.2 --=-=-=-- From unknown Sat Sep 13 02:52:43 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#45575] Add emacs-merlin References: <87eej54upy.fsf@asu.edu> In-Reply-To: <87eej54upy.fsf@asu.edu> Resent-From: John Soo Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 31 Dec 2020 22:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45575 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 45575@debbugs.gnu.org Received: via spool by 45575-submit@debbugs.gnu.org id=B45575.16094527936364 (code B ref 45575); Thu, 31 Dec 2020 22:14:02 +0000 Received: (at 45575) by debbugs.gnu.org; 31 Dec 2020 22:13:13 +0000 Received: from localhost ([127.0.0.1]:41793 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv6C1-0001eZ-AP for submit@debbugs.gnu.org; Thu, 31 Dec 2020 17:13:13 -0500 Received: from mail-pl1-f172.google.com ([209.85.214.172]:42314) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv6Bz-0001eN-Vn for 45575@debbugs.gnu.org; Thu, 31 Dec 2020 17:13:12 -0500 Received: by mail-pl1-f172.google.com with SMTP id s15so10488645plr.9 for <45575@debbugs.gnu.org>; Thu, 31 Dec 2020 14:13:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version; bh=IiqPHVOijpw7/HQcUPmOAlfpsIB/G+6vHjr7oheijAY=; b=MI8RogyEuu8/Uy6DO2a1mKQUabKnZ//J8/EjRL4GmL4iS76q2sWouF+gJTgV556Dcg 3utBidX4YAGIY6Sa6iMMO5zGiMtXZvAFsJfOf3I2CSWYZ91U0h/Y0U1ygOLNZ+eaqfRX Q0iDdmTSQf6rCQWsBY42Yp+x9LBOl/BfkpcILsKLWpQ5zlxUXF/wRElgYKcnDABE3RMQ lfL6QAqB7znaxolYaNM/eTMiCmfBf4virETATrqeyV/nMjc9h97Au0g28mIsXbhZikz3 nGC3il7fO4VaqR5ELLUkhHFRVNEAk0H1ZsF3k4W5JQh6SCoWnCpUEREltKopa+aQ6MQp 5hjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=IiqPHVOijpw7/HQcUPmOAlfpsIB/G+6vHjr7oheijAY=; b=pacGsZS43RU3GxIeCC70B6wtGw41JUmYaXOXkREwtcabPO0kMIJTXaspZQ6mvKpaYH tAZ5gnug+ZDKBqElpU/wK3Z5FWM7wqNEHNUVV2zJZ+fm/hfhFb6mWJ8839zzPkYtMEsn aowGW/iT596UeTF7EQJUQgoIsiHUTWGB7UdITfqt4QD6hUcAAlWjdz4glIwBoGo1Ic+F 3waqgW2s/xaUhGG6uZMT3n3BnoBxStOGnDpNbBCy61ImP4OWB9ygnHinhINUBPGArmMi hh60NleuiCT+fWXbwruN/XdruPm0TwsNL2bVRxLhaYJJtichAJe/HN7wJUpZpVFC4hsa 1Vuw== X-Gm-Message-State: AOAM5337DoamwsovfliAnvcZlyQ1CTl/I+wZx/tR7RmYBGWmDA29Ho2E 9TkpPURr7HHABmbUobziE+P1Eba3m0pxww== X-Google-Smtp-Source: ABdhPJy0wocMzL4psaEgejpw9xZpwY+wERDCRFELqEG7fBw34byAeh5uH/icSFGOUe5t3DAget/nCA== X-Received: by 2002:a17:90b:8d5:: with SMTP id ds21mr14737391pjb.5.1609452785987; Thu, 31 Dec 2020 14:13:05 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id y23sm49891538pfc.178.2020.12.31.14.13.04 for <45575@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 31 Dec 2020 14:13:05 -0800 (PST) From: John Soo Date: Thu, 31 Dec 2020 14:13:04 -0800 Message-ID: <875z4h4ob3.fsf@asu.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Another oops, I forgot to put the base32 hash string on the same line as base32. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-emacs-merlin.patch >From 14377bc2ee93c17ac9ead0669a27b872ad86ab48 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 13:34:57 -0800 Subject: [PATCH] gnu: Add emacs-merlin. * gnu/packages/emacs-xyz.scm (emacs-merlin): New variable. * gnu/packages/ocaml.scm (ocaml-merlin): [arguments] Remove elisp from output, [description] Note location of emacs package. --- gnu/packages/emacs-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++ gnu/packages/ocaml.scm | 11 +++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0d8d6837e1..8ab2c96db5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -135,6 +135,7 @@ #:use-module (gnu packages haskell-apps) #:use-module (gnu packages ibus) #:use-module (gnu packages ncurses) + #:use-module (gnu packages ocaml) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages telephony) @@ -646,6 +647,43 @@ process, passing on the arguments as command line arguments.") "Magit-annex adds a few git-annex operations to the Magit interface.") (license license:gpl3+)))) +(define-public emacs-merlin + (package + (name "emacs-merlin") + (version "3.4.2") + (home-page "https://ocaml.github.io/merlin/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/merlin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-auto-complete" ,emacs-auto-complete) + ("emacs-company" ,emacs-company) + ("emacs-iedit" ,emacs-iedit) + ("ocaml-merlin" ,ocaml-merlin))) + (arguments + `(#:tests? #f ; No tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'setup-emacs-build + (lambda* (#:key inputs #:allow-other-keys) + (let ((merlin (assoc-ref inputs "ocaml-merlin"))) + (chdir "emacs") + (for-each make-file-writable (find-files "." "\\.el$")) + (emacs-substitute-variables "merlin.el" + ("merlin-command" + (string-append merlin "/bin/ocamlmerlin"))))))))) + (synopsis "Context sensitive completion for OCaml in Emacs") + (description "Merlin is an editor service that provides modern IDE +features for OCaml. This package provides the Emacs support for Merlin.") + (license license:expat))) + (define-public emacs-minions (package (name "emacs-minions") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index bb5d6c4e92..3e71f17dc8 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4070,12 +4070,19 @@ documentation always stays up-to-date.") `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader))) (arguments `(#:package "merlin" - #:test-target "tests")) + #:test-target "tests" + #:phases + ;; FIXME: Make merlin.vim into a separate package. + (modify-phases %standard-phases + (add-after 'install 'remove-emacs + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/share/emacs"))))))) (synopsis "Context sensitive completion for OCaml in Vim and Emacs") (description "Merlin is an editor service that provides modern IDE features for OCaml. Emacs and Vim support is provided out-of-the-box. External contributors added support for Visual Studio Code, Sublime Text and -Atom.") +Atom. To install the emacs specific package, use @code{emacs-merlin}.") (license license:expat))) (define-public ocaml4.07-merlin -- 2.29.2 --=-=-=-- From unknown Sat Sep 13 02:52:43 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#45575] gnu: Update ocaml-merlin Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 31 Dec 2020 22:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45575 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: John Soo Cc: 45575@debbugs.gnu.org Received: via spool by 45575-submit@debbugs.gnu.org id=B45575.16094539738319 (code B ref 45575); Thu, 31 Dec 2020 22:33:01 +0000 Received: (at 45575) by debbugs.gnu.org; 31 Dec 2020 22:32:53 +0000 Received: from localhost ([127.0.0.1]:41822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv6V3-0002A7-7t for submit@debbugs.gnu.org; Thu, 31 Dec 2020 17:32:53 -0500 Received: from lepiller.eu ([89.234.186.109]:58898) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv6V0-00029x-G4 for 45575@debbugs.gnu.org; Thu, 31 Dec 2020 17:32:51 -0500 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 9e53d311; Thu, 31 Dec 2020 22:32:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=o0xGz3h8KJmw UDFyvvtkFXXvYJ0776E81V5xG7eINzM=; b=Oyv0QkEG4CbsQ5I4iQZ7MH0h5UPk 4D2jF0S4y0LwUegdcsJOekax9bp3xcmlRHs1l7wnmcoAGmd2f1xo8HEM28e8TDgu 90JkPLz6lOzeqvxbTkFVtBi+aOe5uagVciEfo5mEw3NkyWXSLCLw+Jid/N/nDQH+ pffPOv1iVQPmURZq9jAGdOGXD1ZOxpC1VP+/DTv2tVg7+kW20o8uOP221m32yBsH NQ6twtj/RWaqP3Ng0fHlfqeP80UwI4ZNbAd13Lv1EKVA9cVX3OQf90o+StMwhKoc VHEkxWvOqMEVj1+Iry6+kj1+JffX/jsRog1EUBBMKLfvAV0bNwoaOt/Frw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 62a2aea6 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Thu, 31 Dec 2020 22:32:47 +0000 (UTC) Date: Thu, 31 Dec 2020 23:32:42 +0100 From: Julien Lepiller Message-ID: <20201231233242.1a367ae3@tachikoma.lepiller.eu> In-Reply-To: <87eej54upy.fsf@asu.edu> References: <87eej54upy.fsf@asu.edu> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Le Thu, 31 Dec 2020 11:54:33 -0800, John Soo a =C3=A9crit : > Hi Guix, >=20 > After working with ocaml a little, I felt the need to have a current > merlin. I kept the 4.07 variants of packages but I don't understand > why they exist. >=20 > Thanks! >=20 > John >=20 >=20 Hi John, thanks for the patches! I have pushed a series of patches from Pukkamustard a few days ago that already add ocaml-merlin for the latest OCaml compiler. Could you rebase your patches on master and check if any of your patches is still relevant? Thanks! From unknown Sat Sep 13 02:52:43 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#45575] gnu: Update ocaml-merlin Resent-From: John Soo Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 31 Dec 2020 23:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45575 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Julien Lepiller Cc: 45575@debbugs.gnu.org Received: via spool by 45575-submit@debbugs.gnu.org id=B45575.160945865715649 (code B ref 45575); Thu, 31 Dec 2020 23:51:02 +0000 Received: (at 45575) by debbugs.gnu.org; 31 Dec 2020 23:50:57 +0000 Received: from localhost ([127.0.0.1]:41891 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv7ia-00044K-Oa for submit@debbugs.gnu.org; Thu, 31 Dec 2020 18:50:57 -0500 Received: from mail-pg1-f177.google.com ([209.85.215.177]:45670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv7iY-000446-1b for 45575@debbugs.gnu.org; Thu, 31 Dec 2020 18:50:55 -0500 Received: by mail-pg1-f177.google.com with SMTP id v19so13759167pgj.12 for <45575@debbugs.gnu.org>; Thu, 31 Dec 2020 15:50:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=V8CDsHUv3H0Zqi8wIJFC5vXZTQg5/PT1siVxuVfh/mA=; b=SkkEW55DcWMaXA8WJfO0d+VwqzOUKItR80ezds3geH/tk4mCd1W5Zwbl7HesrzeAAA 9nR6pxX0LXEdr2DsqDmj2kjQF90mS3dBxoj9e8RjpMYPyo9icGCss9DtDLMfoDTgFHny XOgZR64HT/++vN2LeD9Ij0SMJF3vIoLeJPZTiN43QE/xBbYa4WL6Gvsf91sZX/01cHRG bACfAsCNqdtXu5u9otziFpAo3BmdTQwivLbKGfVuzf7WDQJJRZqmkkOlhiaJP/1Fdbq7 C0lF0rVJxRGHnC+oi5r1UNcY/dEUKJYHFvzXTFGpwlg5JIm/VoN7T9panH2EMKkCq8n1 8liQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=V8CDsHUv3H0Zqi8wIJFC5vXZTQg5/PT1siVxuVfh/mA=; b=qxH8b3EbNxMBF1OBFkF8vYatib6JUzzcXFIEooDd3vOUN5EdFBixBsvXQO+sJEW+A2 /cLIdsZ8IT+GSsvApQxK1n0X8fj1ikOXqSbV+fvTnxZsNf1I5McJzdVNnyd57afhwXtY JVLBJJmw/ekkWwJY2a48FcSdqLWQO38bWbMGXp4LcjQh4IOFuEtDDs7UEHvuAXTaWUsk ojn8Raye4+cRSs6UlFsK+d3BbQ+884gzdC2apRXnYQVEz/wmQxnEjCsl4SkNcKklsvTV bDkZt83HaYxqWXKjmKA/rS810JiOMugU9T2RNoQlSkI4XFCaA0JOFW9vhCUoKi6jCO1A sZ1Q== X-Gm-Message-State: AOAM5329j3fmbuOIEuxVKxpHq/dc8zYdgVW0wZNOL/L1xNupleImLuYV ltaeDOtiTPnDKIKZ5KOQ0MTCX+yfQCk7IQ== X-Google-Smtp-Source: ABdhPJzCpJBDVMOLjgIIEE5A3X5uj1oQNQczW2P7vOSLmSCkiB4wlvSILTl2M5VhS3+L6SIULdql1A== X-Received: by 2002:a63:574c:: with SMTP id h12mr54519861pgm.79.1609458647768; Thu, 31 Dec 2020 15:50:47 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id b72sm46193563pfb.129.2020.12.31.15.50.46 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 31 Dec 2020 15:50:47 -0800 (PST) From: John Soo References: <87eej54upy.fsf@asu.edu> <20201231233242.1a367ae3@tachikoma.lepiller.eu> Date: Thu, 31 Dec 2020 15:50:45 -0800 In-Reply-To: <20201231233242.1a367ae3@tachikoma.lepiller.eu> (Julien Lepiller's message of "Thu, 31 Dec 2020 23:32:42 +0100") Message-ID: <8735zl4jsa.fsf_-_@asu.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Hi Julien, Julien Lepiller writes: > thanks for the patches! I have pushed a series of patches from > Pukkamustard a few days ago that already add ocaml-merlin for the > latest OCaml compiler. Could you rebase your patches on master and > check if any of your patches is still relevant? Oops! I have too many unmerged patches and rebasing is getting to be a chore. ocaml-merlin on master looks good to me. The only thing I would like to see is the emacs-merlin package. Having emacs-merlin as a package is nice because it takes advantage of the guix autoload machinery. Here's a rebased patch. I understand if it needs more thought. Thanks a lot! - John --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-emacs-merlin.patch >From f9b6926c9e15780aab978dabc7fd6f65365200cb Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 13:34:57 -0800 Subject: [PATCH] gnu: Add emacs-merlin. * gnu/packages/emacs-xyz.scm (emacs-merlin): New variable. * gnu/packages/ocaml.scm (ocaml-merlin): [arguments] Remove elisp from output, [description] Note location of emacs package. --- gnu/packages/emacs-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++ gnu/packages/ocaml.scm | 19 ++++++++++++++----- 2 files changed, 52 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2f8bc1c7f2..b49106dfa3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -137,6 +137,7 @@ #:use-module (gnu packages haskell-apps) #:use-module (gnu packages ibus) #:use-module (gnu packages ncurses) + #:use-module (gnu packages ocaml) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages telephony) @@ -668,6 +669,43 @@ process, passing on the arguments as command line arguments.") "Magit-annex adds a few git-annex operations to the Magit interface.") (license license:gpl3+)))) +(define-public emacs-merlin + (package + (name "emacs-merlin") + (version "3.4.2") + (home-page "https://ocaml.github.io/merlin/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/merlin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-auto-complete" ,emacs-auto-complete) + ("emacs-company" ,emacs-company) + ("emacs-iedit" ,emacs-iedit) + ("ocaml-merlin" ,ocaml-merlin))) + (arguments + `(#:tests? #f ; No tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'setup-emacs-build + (lambda* (#:key inputs #:allow-other-keys) + (let ((merlin (assoc-ref inputs "ocaml-merlin"))) + (chdir "emacs") + (for-each make-file-writable (find-files "." "\\.el$")) + (emacs-substitute-variables "merlin.el" + ("merlin-command" + (string-append merlin "/bin/ocamlmerlin"))))))))) + (synopsis "Context sensitive completion for OCaml in Emacs") + (description "Merlin is an editor service that provides modern IDE +features for OCaml. This package provides the Emacs support for Merlin.") + (license license:expat))) + (define-public emacs-minions (package (name "emacs-minions") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2df16e7cd2..71a3a870e6 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3951,22 +3951,31 @@ format}. @code{craml} is released as a single binary (called @code{craml}).") (base32 "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj")))) (build-system dune-build-system) - (arguments '(#:package "merlin" - #:test-target "tests")) + (arguments + `(#:package "merlin" + #:test-target "tests" + #:phases + ;; FIXME: Make merlin.vim into a separate package. + (modify-phases %standard-phases + (add-after 'install 'remove-emacs + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/share/emacs"))))))) (inputs `(("ocaml-yojson" ,ocaml-yojson) ("ocaml-csexp" ,ocaml-csexp) ("ocaml-result" ,ocaml-result))) (native-inputs - `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader) ; required for tests - ("ocaml-mdx" ,ocaml-mdx) + `(("ocaml-mdx" ,ocaml-mdx) ("jq" ,jq))) + (propagated-inputs + `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader))) (home-page "https://ocaml.github.io/merlin/") (synopsis "Context sensitive completion for OCaml in Vim and Emacs") (description "Merlin is an editor service that provides modern IDE features for OCaml. Emacs and Vim support is provided out-of-the-box. External contributors added support for Visual Studio Code, Sublime Text and -Atom.") +Atom. To install the emacs specific package, use @code{emacs-merlin}.") (license license:expat))) ;; ocaml-merlin 3.4.2 can not be built with old version of dune used in -- 2.29.2 --=-=-=-- From unknown Sat Sep 13 02:52:43 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: John Soo Subject: bug#45575: closed (Already done) Message-ID: References: <87czxuw54g.fsf@asu.edu> <87eej54upy.fsf@asu.edu> X-Gnu-PR-Message: they-closed 45575 X-Gnu-PR-Package: guix-patches Reply-To: 45575@debbugs.gnu.org Date: Sun, 24 Jan 2021 18:41:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1611513662-5687-1" This is a multi-part message in MIME format... ------------=_1611513662-5687-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #45575: gnu: Update ocaml-merlin which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 45575@debbugs.gnu.org. --=20 45575: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D45575 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1611513662-5687-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 45575-done) by debbugs.gnu.org; 24 Jan 2021 18:40:25 +0000 Received: from localhost ([127.0.0.1]:37239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l3kJF-0001Sk-1s for submit@debbugs.gnu.org; Sun, 24 Jan 2021 13:40:25 -0500 Received: from mail-pl1-f175.google.com ([209.85.214.175]:35457) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l3kJD-0001SW-Ar for 45575-done@debbugs.gnu.org; Sun, 24 Jan 2021 13:40:23 -0500 Received: by mail-pl1-f175.google.com with SMTP id g3so6243140plp.2 for <45575-done@debbugs.gnu.org>; Sun, 24 Jan 2021 10:40:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version; bh=uDWSz25ikdPlzspBJcGgqkx3vS4tJ8BKRIy/Tf9t9so=; b=bNAkVC/pXoz10Ck58fpP/6VgRuttVEAP6X0DO07QUz6ihr1a4WHq7PYrmKIQgw7P6m ELYx/3n0wia6pHGVZ2Cb18qNcpcS+oS2VqaaTu+LWCz0soHLuHDIAgyks47UdMCKcYmS C2JK43PkbWXtqT7L14DzUwqhCKKcH5+sYbTFVxmvCarklv40n2ONlxhKgjLMl1AU1EcT sthIpWqCcPQI17xxmkfxMU3ucbwklHEfYJxEZ3D+NB4tP1bn01AI89kY33ot+1tZgMCO EWogOmmTU2tXmZFT2HrOw6Lza8VBMRBnxUEdCGV9bbc/0U5W1TKLgB9vfe0TTeeH6NHa H7OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=uDWSz25ikdPlzspBJcGgqkx3vS4tJ8BKRIy/Tf9t9so=; b=mlciq9cYMuvJ66I3epvOjPxpOAWnO5WilGjSI78EL7LVHfVKYsH+FW2J4qiWCO/Qgi faPZHzhSFLf932M+jJvjLgc4VRgM+YrWIssjm2MUGoxA9AjvmNzUwPJKorSg8lF99CA9 HhgRota2VYN8BqR0x7ysR/0azKMaT9CvBUzeMpR2yiLIw4SWbBOT2mHYzfIJLg6pRpQC 225FVb4oVDIrHbodKYs4DuV/Shlu0WBdzarOwrv6f1VH7hxmNGuvZx9EHlse9NXuSz1B 8FRphKerEsIpVbGOwkdHHWeWXvW6QGmoRwMjqkZ3Mwudom/8+5+T5yVVdz6bDkrEaymg c1Bw== X-Gm-Message-State: AOAM532OlUm9Z+5FB1TeVSy8CKyCTW1tFQPfAqKApvSO7071NGxm1PC5 VOEmEqkk7r+Mezndkc0ClCkhtIWmDMe1TQ== X-Google-Smtp-Source: ABdhPJzFGndesCXEr5VaLOwzKCkWyyzHdd9uBQb+3AE+EvZgK/EtvZoTsDH04wfoYo7D5A9m2P1Q4A== X-Received: by 2002:a17:90a:520e:: with SMTP id v14mr6713349pjh.9.1611513617193; Sun, 24 Jan 2021 10:40:17 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id d14sm4294676pfo.156.2021.01.24.10.40.16 for <45575-done@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 24 Jan 2021 10:40:16 -0800 (PST) From: John Soo To: 45575-done@debbugs.gnu.org Subject: Already done Date: Sun, 24 Jan 2021 10:40:15 -0800 Message-ID: <87czxuw54g.fsf@asu.edu> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45575-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thanks for the patches! ------------=_1611513662-5687-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 31 Dec 2020 19:54:49 +0000 Received: from localhost ([127.0.0.1]:41585 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv421-0006l2-KC for submit@debbugs.gnu.org; Thu, 31 Dec 2020 14:54:48 -0500 Received: from lists.gnu.org ([209.51.188.17]:34972) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kv41z-0006kt-70 for submit@debbugs.gnu.org; Thu, 31 Dec 2020 14:54:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:46874) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kv41y-0000oe-TK for guix-patches@gnu.org; Thu, 31 Dec 2020 14:54:42 -0500 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:41931) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kv41t-0003od-QB for guix-patches@gnu.org; Thu, 31 Dec 2020 14:54:42 -0500 Received: by mail-pl1-x631.google.com with SMTP id y8so10374806plp.8 for ; Thu, 31 Dec 2020 11:54:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version; bh=bp6L8eWAVRspwJv0xepJJNYKM+ouaXP+ym79rY+gEfc=; b=XgmSXwmJSeh7wDvQXc0tsRcrVtMS+Mk0pRfW7lGnAr+KhuvYKcHqhmuWMKcfQ1+Y8e ERMJibOsMfqvRF9OTYDWZO7kdXSn4pExLprLzKK0dwTO5MWUt16o20o++x2/ArcVG2V7 HFo1ui+Tj/Pes5IF1+E+5W+QRY0u+cojOXrT7BCFqSgxP3yphtCfNxq8hwdq3rfoUlGb SLTLN12hfFgMW2/HPzw4hul+Qj4rnJuJ7rz5PPw2F1UpnGEO2bUKwB/hs7O0+RkKmDoA nAjrY3EAI9kXxeG+ypzDG3Zj9EpghN2r/YuoIbjHjz/3Oj0MYB6MAi/nPcrJDfU7Jel2 LNMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=bp6L8eWAVRspwJv0xepJJNYKM+ouaXP+ym79rY+gEfc=; b=JpbeYYsNh6U0S2L0f59Q4PVc4bP10p+BOf/4mHFcIdn3F5HmdWCL5bRDQiNmJxkFRQ AipyBBIm7s0iuf8ztFHSXbzE/9vP2d6utNXWjofI5meB12WDFUq49/xyTHjway/2Ne/2 Mw6JRh0uGifBqHFraDuIbDDE8uwCsLwqJgPbClOUQC02FUTgVL2m35ra/3/G63HbrMsY Aa96G+ttSGo+SCZC2IUYfqdGK3WsPCD8nkEcuBTswWWByLkkk3taP6r/ECXeB8abhigQ 56gCzekaRE5KjNQgMKvuEVlqpTvzCFl+XGuf1a8F6tYiUB4LkVhEOuevqGTzyhWY3rvw 7obw== X-Gm-Message-State: AOAM530Ejf84nRONS68JeoCjRXKW8yeSGuz2TJd9dae/1OSDnWK11RPz OBFK21/li3g5pGVCzJO1P8fQJm/kD01VKw== X-Google-Smtp-Source: ABdhPJwWcD2zDAGVYp7RwYQXQjWRUsykGyqq2Fr8Z3EILXIV8HU9kvbr1/aBB5myKB0iYYBX2JXvGg== X-Received: by 2002:a17:902:9a86:b029:dc:104:1902 with SMTP id w6-20020a1709029a86b02900dc01041902mr38985947plp.50.1609444475770; Thu, 31 Dec 2020 11:54:35 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id z13sm11782103pjt.45.2020.12.31.11.54.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 31 Dec 2020 11:54:34 -0800 (PST) From: John Soo To: guix-patches@gnu.org Subject: gnu: Update ocaml-merlin Date: Thu, 31 Dec 2020 11:54:33 -0800 Message-ID: <87eej54upy.fsf@asu.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=jsoo1@asu.edu; helo=mail-pl1-x631.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain Hi Guix, After working with ocaml a little, I felt the need to have a current merlin. I kept the 4.07 variants of packages but I don't understand why they exist. Thanks! John --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-ocaml-dot-merlin-reader.patch >From 1ee786693277dc7ec6b5a02a3f438171736399f0 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 09:25:08 -0800 Subject: [PATCH 1/9] gnu: Add ocaml-dot-merlin-reader. * gnu/packages/ocaml.scm (ocaml-dot-merlin-reader): New variable. --- gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c4900b6214..3c42505d6e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1753,6 +1753,34 @@ generation. It supports programs with single or multiple commands and respects most of the POSIX and GNU conventions.") (license license:bsd-3))) +(define-public ocaml-dot-merlin-reader + (package + (name "ocaml-dot-merlin-reader") + (version "3.4.2") + (source + (origin + (method url-fetch) + (uri "https://github.com/ocaml/merlin/releases/download/v3.4.2/merlin-v3.4.2.tbz") + (sha256 + (base32 + "109ai1ggnkrwbzsl1wdalikvs1zx940m6n65jllxj68in6bvidz1")))) + (build-system dune-build-system) + (inputs + `(("ocaml-biniou" ,ocaml-biniou) + ("ocaml-easy-format" ,ocaml-easy-format) + ("ocaml-yojson" ,ocaml-yojson) + ("ocaml-csexp" ,ocaml-csexp) + ("ocaml-result" ,ocaml-result))) + (arguments + `(#:package "dot-merlin-reader" + #:tests? #f ; No tests for dot-merlin-reader + )) + (home-page "https://github.com/ocaml/merlin") + (synopsis "Reads config files for merlin") + (description + "This package provices config file parsing for merlin.") + (license license:expat))) + (define-public ocaml-fmt (package (name "ocaml-fmt") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnu-Add-ocaml-version.patch >From 7dd63fafcdfb4da6d714aa1b24ca56aa6da74cd4 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:15:17 -0800 Subject: [PATCH 2/9] gnu: Add ocaml-version. * gnu/packages/ocaml.scm (ocaml-version): New variable. --- gnu/packages/ocaml.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 3c42505d6e..601b52648c 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5933,3 +5933,37 @@ provides support to program with time varying values: declarative events and signals. React doesn't define any primitive event or signal, it lets the client chooses the concrete timeline.") (license license:lgpl2.1+))) + +(define-public ocaml-version + (package + (name "ocaml-version") + (version "3.0.0") + (source + (origin + (method url-fetch) + (uri "https://github.com/ocurrent/ocaml-version/releases/download/v3.0.0/ocaml-version-v3.0.0.tbz") + (sha256 + (base32 + "15vk8sh50p3f2mbv8z7mqnx76cffri36f2krp25zkkwix8jg7ci4")))) + (build-system dune-build-system) + (arguments + `(#:test-target "")) + (properties `((upstream-name . "ocaml-version"))) + (home-page + "https://github.com/ocurrent/ocaml-version") + (synopsis + "Manipulate, parse and generate OCaml compiler version strings") + (description + "This library provides facilities to parse version numbers of the OCaml +compiler, and enumerates the various official OCaml releases and configuration +variants. + +OCaml version numbers are of the form major.minor.patch+extra, where the patch +and extra fields are optional. This library offers the following +functionality: + +- Functions to parse and serialise OCaml compiler version numbers. +- Enumeration of official OCaml compiler version releases. +- Test compiler versions for a particular feature (e.g. the @code{bytes} type) +- Opam @url{https://opam.ocaml.org} compiler switch enumeration.") + (license license:expat))) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-Add-ocaml-sexplib0.patch >From aa809e99776de22f1c959958d5089520e14a76a3 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:36:57 -0800 Subject: [PATCH 3/9] gnu: Add ocaml-sexplib0. * gnu/packages/ocaml.scm (ocaml-sexplib0): New variable. * gnu/packages/ocaml.scm (ocaml4.07-sexplib0): Inherit from ocaml-sexplib0. --- gnu/packages/ocaml.scm | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 601b52648c..d86555906b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4119,10 +4119,10 @@ an arbitrary number of processes. Cache coherence protocols and mutual exclusion algorithms are typical examples of such systems.") (license license:asl2.0))) -(define-public ocaml4.07-sexplib0 +(define-public ocaml-sexplib0 (package - (name "ocaml4.07-sexplib0") - (version "0.11.0") + (name "ocaml-sexplib0") + (version "0.14.0") (home-page "https://github.com/janestreet/sexplib0") (source (origin @@ -4133,25 +4133,23 @@ exclusion algorithms are typical examples of such systems.") (file-name (git-file-name name version)) (sha256 (base32 - "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi")))) + "06sb3zqhb3dwqsmn15d769hfgqwqhxnm52iqim9l767gvlwpmibb")))) (build-system dune-build-system) (arguments - `(#:tests? #f ;no tests - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + `(#:tests? #f)) (synopsis "Library containing the definition of S-expressions and some base converters") (description "Part of Jane Street's Core library The Core suite of libraries is an industrial strength alternative to OCaml's standard library that was developed by Jane Street, the largest industrial user of OCaml.") -(license license:expat))) + (license license:expat))) -(define-public ocaml4.07-parsexp +(define-public ocaml4.07-sexplib0 (package - (name "ocaml4.07-parsexp") + (inherit ocaml-sexplib0) + (name "ocaml4.07-sexplib0") (version "0.11.0") - (home-page "https://github.com/janestreet/parsexp") + (home-page "https://github.com/janestreet/sexplib0") (source (origin (method git-fetch) @@ -4161,12 +4159,13 @@ that was developed by Jane Street, the largest industrial user of OCaml.") (file-name (git-file-name name version)) (sha256 (base32 - "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz")))) - (build-system dune-build-system) + "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi")))) (arguments - `(#:ocaml ,ocaml-4.07 + `(#:tests? #f ;no tests + #:ocaml ,ocaml-4.07 #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + #:dune ,ocaml4.07-dune)))) + (inputs `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) (synopsis "S-expression parsing library") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0004-gnu-Add-ocaml-mdx.patch >From d9cac4f113ef8536d49b44668f2c2c7dac0fac17 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:43:03 -0800 Subject: [PATCH 4/9] gnu: Add ocaml-mdx. * gnu/packages/ocaml.scm (ocaml-mdx): New variable. --- gnu/packages/ocaml.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index d86555906b..707880dd5d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3965,6 +3965,49 @@ Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test format}. @code{craml} is released as a single binary (called @code{craml}).") (license license:isc))) +(define-public ocaml-mdx + (package + (name "ocaml-mdx") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri "https://github.com/realworldocaml/mdx/releases/download/1.7.0/mdx-1.7.0.tbz") + (sha256 + (base32 + "0vpc30sngl3vpychrfvjwyi93mk311x3f2azlkxasgcj69fq03i7")))) + (build-system dune-build-system) + (inputs + `(("ocaml-fmt" ,ocaml-fmt) + ("ocaml-astring" ,ocaml-astring) + ("ocaml-logs" ,ocaml-logs) + ("ocaml-cmdliner" ,ocaml-cmdliner) + ("ocaml-re" ,ocaml-re) + ("ocaml-result" ,ocaml-result) + ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree) + ("ocaml-version" ,ocaml-version) + ("ocaml-odoc" ,ocaml-odoc))) + (native-inputs + `(("ocaml-cppo" ,ocaml-cppo) + ("ocaml-lwt" ,ocaml-lwt) + ("ocaml-alcotest" ,ocaml-alcotest))) + (home-page + "https://github.com/realworldocaml/mdx") + (synopsis + "Executable code blocks inside markdown files") + (description + "This package allows execution of code blocks inside markdown files. +There are (currently) two sub-commands, corresponding to two modes of +operations: pre-processing (@command{ocaml-mdx pp}) and +tests (@command{ocaml-mdx test}). + +The pre-processor mode allows to mix documentation and code, and to practice +\"literate programming\" using markdown and OCaml. + +The test mode allows to ensure that shell scripts and OCaml fragments in the +documentation always stays up-to-date.") + (license license:isc))) + (define-public ocaml4.07-merlin (package (name "ocaml4.07-merlin") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0005-gnu-Add-ocaml-parsexp.patch >From 0f27bcdf4c47b9e4928589ac1dc0b48225d19d05 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:38:32 -0800 Subject: [PATCH 5/9] gnu: Add ocaml-parsexp. * gnu/packages/ocaml.scm (ocaml-parsexp): New variable. * gnu/packages/ocaml.scm (ocaml4.07-parsexp): Inherit from ocaml-parsexp. --- gnu/packages/ocaml.scm | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 707880dd5d..b708f9398e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4209,8 +4209,25 @@ that was developed by Jane Street, the largest industrial user of OCaml.") #:findlib ,ocaml4.07-findlib #:dune ,ocaml4.07-dune)))) +(define-public ocaml-parsexp + (package + (name "ocaml-parsexp") + (version "0.14.0") + (home-page "https://github.com/janestreet/parsexp") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rvbrf8ggh2imsbhqi15jzyyqbi3m5hzvy2iy2r4skx6m102mzpd")))) + (build-system dune-build-system) (inputs - `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) + `(("ocaml-base" ,ocaml-base) + ("ocaml-sexplib0" ,ocaml-sexplib0))) (synopsis "S-expression parsing library") (description "This library provides generic parsers for parsing S-expressions from @@ -4239,11 +4256,12 @@ s-expressions from files or other external sources, you should use parsexp_io.") (license license:expat))) -(define-public ocaml4.07-sexplib +(define-public ocaml4.07-parsexp (package - (name "ocaml4.07-sexplib") + (inherit ocaml-parsexp) + (name "ocaml4.07-parsexp") (version "0.11.0") - (home-page "https://github.com/janestreet/sexplib") + (home-page "https://github.com/janestreet/parsexp") (source (origin (method git-fetch) @@ -4253,12 +4271,12 @@ parsexp_io.") (file-name (git-file-name name version)) (sha256 (base32 - "1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb")))) - (build-system dune-build-system) + "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz")))) (arguments `(#:ocaml ,ocaml-4.07 #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + #:dune ,ocaml4.07-dune)))) + (propagated-inputs `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) ("ocaml-parsexp" ,ocaml4.07-parsexp) -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0006-gnu-Add-ocaml-sexplib.patch >From 81f930085e185efa330f92f5cf88529880a72b10 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:39:49 -0800 Subject: [PATCH 6/9] gnu: Add ocaml-sexplib. * gnu/packages/ocaml.scm (ocaml-sexplib): New variable. * gnu/packages/ocaml.scm (ocaml4.07-sexplib): Inherit from ocaml-sexplib. --- gnu/packages/ocaml.scm | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index b708f9398e..4774a70d46 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4277,10 +4277,27 @@ parsexp_io.") #:findlib ,ocaml4.07-findlib #:dune ,ocaml4.07-dune)))) +(define-public ocaml-sexplib + (package + (name "ocaml-sexplib") + (version "0.14.0") + (home-page "https://github.com/janestreet/sexplib") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03c3j1ihx4pjbb0x3arrcif3wvp3iva2ivnywhiak4mbbslgsnzr")))) + (build-system dune-build-system) (propagated-inputs - `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) - ("ocaml-parsexp" ,ocaml4.07-parsexp) - ("ocaml-sexplib0" ,ocaml4.07-sexplib0))) + `(("ocaml-base" ,ocaml-base) + ("ocaml-num" ,ocaml-num) + ("ocaml-parsexp" ,ocaml-parsexp) + ("ocaml-sexplib0" ,ocaml-sexplib0))) (synopsis "Library for serializing OCaml values to and from S-expressions") (description @@ -4288,10 +4305,20 @@ parsexp_io.") functionality for parsing and pretty-printing s-expressions.") (license license:expat))) -(define-public ocaml4.07-base +(define-public ocaml4.07-sexplib (package - (name "ocaml4.07-base") - (version "0.11.1") + (inherit ocaml-sexplib) + (name "ocaml4.07-sexplib") + (version "0.11.0") + (arguments + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) + (propagated-inputs + `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) + ("ocaml-parsexp" ,ocaml4.07-parsexp) + ("ocaml-sexplib0" ,ocaml4.07-sexplib0))))) + (home-page "https://github.com/janestreet/base") (source (origin -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0007-gnu-Add-ocaml-base.patch >From 17357e14c1ce843d4ee51d99ec85884d1dbe2f5f Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:40:59 -0800 Subject: [PATCH 7/9] gnu: Add ocaml-base. * gnu/packages/ocaml.scm (ocaml-base): New variable. * gnu/packages/ocaml.scm (ocaml4.07-base): Inherit from ocaml-base. --- gnu/packages/ocaml.scm | 42 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 4774a70d46..e0882d8f26 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -4319,6 +4319,10 @@ functionality for parsing and pretty-printing s-expressions.") ("ocaml-parsexp" ,ocaml4.07-parsexp) ("ocaml-sexplib0" ,ocaml4.07-sexplib0))))) +(define-public ocaml-base + (package + (name "ocaml-base") + (version "0.13.2") (home-page "https://github.com/janestreet/base") (source (origin @@ -4329,20 +4333,17 @@ functionality for parsing and pretty-printing s-expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir")))) + "0x6r37a8j9z9kvx9syg6qkm7zgmjg41m40hfshls98h61zlzp3gv")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) + `(("ocaml-sexplib0" ,ocaml-sexplib0))) (arguments `(#:phases (modify-phases %standard-phases (replace 'build ;; make warnings non fatal (jbuilder behaviour) (lambda _ - (invoke "dune" "build" "@install" "--profile=release")))) - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) + (invoke "dune" "build" "@install" "--profile=release")))))) (synopsis "Full standard library replacement for OCaml") (description @@ -4357,6 +4358,35 @@ provided by companion libraries such as @url{https://github.com/janestreet/stdio, ocaml-stdio}.") (license license:expat))) +(define-public ocaml4.07-base + (package + (inherit ocaml-base) + (name "ocaml4.07-base") + (version "0.11.1") + (home-page "https://github.com/janestreet/base") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir")))) + (propagated-inputs + `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; make warnings non fatal (jbuilder behaviour) + (lambda _ + (invoke "dune" "build" "@install" "--profile=release")))) + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)))) + (define-public ocaml4.07-compiler-libs (package (name "ocaml4.07-compiler-libs") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0008-gnu-Add-ocaml-odoc.patch >From ba40db7ba6d91dc63ddeff68e24fae355a9e8769 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:42:34 -0800 Subject: [PATCH 8/9] gnu: Add ocaml-odoc. * gnu/packages/ocaml.scm (ocaml-odoc): New variable. --- gnu/packages/ocaml.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index e0882d8f26..2975f866c9 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2424,6 +2424,39 @@ without a complete in-memory representation of the data.") multitude of other network protocols (FTP/SMTP/RTSP/etc).") (license license:isc))) +(define-public ocaml-odoc + (package + (name "ocaml-odoc") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri "https://github.com/ocaml/odoc/releases/download/1.5.2/odoc-1.5.2.tbz") + (sha256 + (base32 + "0wa87h8q6izcc6rkzqn944vrb3hmc21lf0d0rmr8rhhbcvr66i6j")))) + (build-system dune-build-system) + (inputs + `(("ocaml-astring" ,ocaml-astring) + ("ocaml-cmdliner" ,ocaml-cmdliner) + ("ocaml-fpath" ,ocaml-fpath) + ("ocaml-result" ,ocaml-result) + ("ocaml-tyxml" ,ocaml-tyxml) + ("ocaml-alcotest" ,ocaml-alcotest) + ("ocaml-markup" ,ocaml-markup) + ("ocaml-sexplib" ,ocaml-sexplib))) + (native-inputs + `(("ocaml-cppo" ,ocaml-cppo) + ("ocaml-bisect-ppx" ,ocaml-bisect-ppx))) + ;; FIXME: Needs some extra inputs for tests to succeed + (arguments `(#:tests? #f)) + (home-page "http://github.com/ocaml/odoc") + (synopsis "OCaml documentation generator") + (description + "Odoc is a documentation generator for OCaml. It reads doc comments, +delimited with @code{(** ... *)}, and outputs HTML.") + (license license:isc))) + (define-public ocaml-base64 (package (name "ocaml-base64") -- 2.29.2 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0009-gnu-Add-ocaml-merlin.patch >From 4427d0313fc07a8a2ff342575c7fe1e9c2a3b912 Mon Sep 17 00:00:00 2001 From: John Soo Date: Thu, 31 Dec 2020 11:48:15 -0800 Subject: [PATCH 9/9] gnu: Add ocaml-merlin. * gnu/packages/ocaml.scm (ocaml-merlin): New variable. * gnu/packages/ocaml.scm (ocaml4.07-merlin): Inerhit from ocaml-merlin. --- gnu/packages/ocaml.scm | 47 +++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2975f866c9..bb5d6c4e92 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -71,6 +71,7 @@ #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages virtualization) + #:use-module (gnu packages web) #:use-module (gnu packages web-browsers) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -4041,8 +4042,45 @@ The test mode allows to ensure that shell scripts and OCaml fragments in the documentation always stays up-to-date.") (license license:isc))) +(define-public ocaml-merlin + (package + (name "ocaml-merlin") + (version "3.4.2") + (home-page "https://ocaml.github.io/merlin/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/merlin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj")))) + (build-system dune-build-system) + (inputs + `(("ocaml-biniou" ,ocaml-biniou) + ("ocaml-yojson" ,ocaml-yojson) + ("ocaml-easy-format" ,ocaml-easy-format))) + (native-inputs + `(("ocaml-findlib" ,ocaml-findlib) + ("ocaml-mdx" ,ocaml-mdx) + ("jq" ,jq))) + (propagated-inputs + `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader))) + (arguments + `(#:package "merlin" + #:test-target "tests")) + (synopsis "Context sensitive completion for OCaml in Vim and Emacs") + (description "Merlin is an editor service that provides modern IDE +features for OCaml. Emacs and Vim support is provided out-of-the-box. +External contributors added support for Visual Studio Code, Sublime Text and +Atom.") + (license license:expat))) + (define-public ocaml4.07-merlin (package + (inherit ocaml-merlin) (name "ocaml4.07-merlin") (version "3.2.2") (home-page "https://ocaml.github.io/merlin/") @@ -4056,7 +4094,6 @@ documentation always stays up-to-date.") (sha256 (base32 "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb")))) - (build-system dune-build-system) (inputs `(("ocaml-biniou" ,(package-with-ocaml4.07 ocaml-biniou)) ("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson)) @@ -4068,13 +4105,7 @@ documentation always stays up-to-date.") #:tests? #f ;; Errors in tests in version 3.2.2 #:ocaml ,ocaml-4.07 #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) - (synopsis "Context sensitive completion for OCaml in Vim and Emacs") - (description "Merlin is an editor service that provides modern IDE -features for OCaml. Emacs and Vim support is provided out-of-the-box. -External contributors added support for Visual Studio Code, Sublime Text and -Atom.") - (license license:expat))) + #:dune ,ocaml4.07-dune)))) (define-public ocaml4.07-gsl (package -- 2.29.2 --=-=-=-- ------------=_1611513662-5687-1--