unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob 488d46fcf5e29e9b59f3389173863ed7fa9909c0 4005 bytes (raw)
name: gnu/packages/ocaml-mirage.scm 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
 
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Csepp <raingloom@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages ocaml-mirage)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix build-system dune)
  #:use-module (gnu packages ocaml)
  #:use-module ((guix licenses)
                #:prefix license:))

(define-public ocaml-domain-name
  (package
    (name "ocaml-domain-name")
    (version "0.4.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/hannesm/domain-name/")
                    (commit (string-append "v" version))))
              (file-name name)
              (sha256
               (base32
                "1a669zz1pc7sqbi1c13jsnp8algcph2b8gr5fjrjhyh3p232770k"))))
    (arguments
     '(#:phases
       (modify-phases %standard-phases
         (replace 'check
           (lambda* (#:key tests? #:allow-other-keys)
             (when tests?
               ;; TODO -j ncpu equivalent
               (invoke "dune" "runtest" "-p" "domain-name")))))))
    (build-system dune-build-system)
    (native-inputs (list ocaml-alcotest))
    (home-page "https://github.com/hannesm/domain-name")
    (synopsis "RFC 1035 Internet domain name data structure and parser")
    (description
     "Parses and constructs RFC compliant domain names.  The invariants on the
length of domain names are preserved throughout the module.")
    (license license:isc)))

(define (ipaddr-arguments pkg)
  `(#:package ,pkg
    #:phases
    (modify-phases %standard-phases
      (replace 'check
        (lambda* (#:key tests? #:allow-other-keys)
          (when tests?
            ;; no separate tests directory
            (invoke "dune" "runtest" "-p" ,pkg)))))))

(define-public ocaml-macaddr
  (package
    (name "ocaml-macaddr")
    (version "5.3.1")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/mirage/ocaml-ipaddr/")
                    (commit (string-append "v" version))))
              (file-name name)
              (sha256
               (base32
                "1zgwx0ms3l4k4dzwnkrwq4zzqjrddjsvqn66mbd0rm6aq1ib019d"))))
    (build-system dune-build-system)
    (arguments (ipaddr-arguments "macaddr"))
    (propagated-inputs (list ocaml-cstruct))
    (native-inputs (list ocaml-ounit2 ocaml-ppx-sexp-conv))
    (home-page "https://github.com/mirage/ocaml-ipaddr")
    (synopsis "OCaml library for manipulation of MAC address representations")
    (description
     "@itemize
@item MAC-48 (Ethernet) address support
@item `Macaddr` is a @code{Map.OrderedType}
@item All types have sexplib serializers/deserializers optionally via the
`Macaddr_sexp` library
@end itemize")
    (license license:isc)))

(define-public ocaml-ipaddr
  ;; same repo and versions as ocaml-macaddr
  (package
    (inherit ocaml-macaddr)
    (name "ocaml-ipaddr")
    (arguments (ipaddr-arguments "macaddr"))
    (propagated-inputs (list ocaml-macaddr ocaml-domain-name))
    (synopsis
     "Library for manipulation of IP (and MAC) address representations")
    (description
     "IP address types with serialization, supporting a wide range of RFCs.")
    (license license:isc)))

debug log:

solving 488d46fcf5 ...
found 488d46fcf5 in https://yhetil.org/guix-patches/20220929164718.16973-3-raingloom@riseup.net/
found b1389507d5 in https://yhetil.org/guix-patches/20220929164718.16973-2-raingloom@riseup.net/
found 67514c4932 in https://yhetil.org/guix-patches/20220929164718.16973-1-raingloom@riseup.net/

applying [1/3] https://yhetil.org/guix-patches/20220929164718.16973-1-raingloom@riseup.net/
diff --git a/gnu/packages/ocaml-mirage.scm b/gnu/packages/ocaml-mirage.scm
new file mode 100644
index 0000000000..67514c4932


applying [2/3] https://yhetil.org/guix-patches/20220929164718.16973-2-raingloom@riseup.net/
diff --git a/gnu/packages/ocaml-mirage.scm b/gnu/packages/ocaml-mirage.scm
index 67514c4932..b1389507d5 100644


applying [3/3] https://yhetil.org/guix-patches/20220929164718.16973-3-raingloom@riseup.net/
diff --git a/gnu/packages/ocaml-mirage.scm b/gnu/packages/ocaml-mirage.scm
index b1389507d5..488d46fcf5 100644

Checking patch gnu/packages/ocaml-mirage.scm...
Applied patch gnu/packages/ocaml-mirage.scm cleanly.
Checking patch gnu/packages/ocaml-mirage.scm...
Applied patch gnu/packages/ocaml-mirage.scm cleanly.
Checking patch gnu/packages/ocaml-mirage.scm...
Applied patch gnu/packages/ocaml-mirage.scm cleanly.

index at:
100644 488d46fcf5e29e9b59f3389173863ed7fa9909c0	gnu/packages/ocaml-mirage.scm

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).