aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/sml.scm
blob: 6db8028177449808ceb95b488eddd786f8a12147 (about) (plain)
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
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;;
;;; 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 sml)
  #:use-module (gnu packages lesstif)
  #:use-module (gnu packages libffi)
  #:use-module (gnu packages multiprecision)
  #:use-module (gnu packages xorg)
  #:use-module (guix build-system gnu)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages))

(define-public polyml
  (package
    (name "polyml")
    (version "5.8.1")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/polyml/polyml")
                    (commit (string-append "v" version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1ag7n55ym1zxksi89dvs17j6iaa58v4mg47s92zpa1b49k4fql1k"))))
    (build-system gnu-build-system)
    (inputs
     `(("gmp" ,gmp)
       ("lesstif" ,lesstif)
       ("libffi" ,libffi)
       ("libx11" ,libx11)
       ("libxt" ,libxt)))
    (arguments
     '(#:configure-flags
       (list "--with-system-libffi=yes"
             "--with-x=yes"
             "--with-threads=yes"
             "--with-gmp=yes")
       #:phases
       (modify-phases %standard-phases
         (add-after 'build 'build-compiler
           (lambda* (#:key make-flags parallel-build? #:allow-other-keys)
             (define flags
               (if parallel-build?
                   (cons (format #f "-j~d" (parallel-job-count))
                         make-flags)
                   make-flags))
             (apply system* "make" (append flags (list "compiler"))))))))
    (home-page "https://www.polyml.org/")
    (synopsis "Standard ML implementation")
    (description "Poly/ML is a Standard ML implementation.  It is fully
compatible with the ML97 standard.  It includes a thread library, a foreign
function interface, and a symbolic debugger.")
    ;; Some source files specify 'or any later version'; some don't
    (license
     (list license:lgpl2.1
           license:lgpl2.1+))))
e variables. (linux-libre-version, linux-libre-gnu-revision, linux-libre-pristine-source, linux-libre-source, linux-libre, linux-libre-with-bpf): Use linux-libre 5.17. * gnu/packages/aux-files/linux-libre/5.16-arm.conf, gnu/packages/aux-files/linux-libre/5.16-arm64.conf, gnu/packages/aux-files/linux-libre/5.16-i686.conf, gnu/packages/aux-files/linux-libre/5.16-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. 2022-04-14gnu: Update linux-libre 5.17 configuration files.Leo Famulari This option that adds new hardware support appeared after the 5.17 release. * gnu/packages/aux-files/linux-libre/5.17-arm.conf, gnu/packages/aux-files/linux-libre/5.17-arm64.conf, gnu/packages/aux-files/linux-libre/5.17-i686.conf, gnu/packages/aux-files/linux-libre/5.17-x86_64.conf: Enable support for Realtek Ethernet switch chips. 2022-03-26gnu: linux-libre: Add linux-libre 5.17.Leo Famulari * gnu/packages/linux.scm (linux-libre-5.17-version, linux-libre-5.17-gnu-revision, deblob-scripts-5.17, linux-libre-5.17-pristine-source, linux-libre-5.17-source, linux-libre-headers-5.17, linux-libre-5.17): New variables. * gnu/packages/aux-files/linux-libre/5.17-arm.conf, gnu/packages/aux-files/linux-libre/5.17-arm64.conf, gnu/packages/aux-files/linux-libre/5.17-i686.conf, gnu/packages/aux-files/linux-libre/5.17-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. 2022-03-13gnu: linux-libre: Enable UTF-8 normalization and casefolding.Tobias Geerinckx-Rice Without this it is apparently impossible to mount file systems with the feature, which apparently some distributions do by default now. podiki[m]> I have an sdcard that was formatted with ext4 casefold [by Arch Linux], cannot be mounted * gnu/packages/aux-files/linux-libre/5.10-arm.conf, gnu/packages/aux-files/linux-libre/5.10-arm64.conf, gnu/packages/aux-files/linux-libre/5.10-i686.conf, gnu/packages/aux-files/linux-libre/5.10-x86_64.conf, gnu/packages/aux-files/linux-libre/5.15-arm.conf, gnu/packages/aux-files/linux-libre/5.15-arm64.conf, gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf, gnu/packages/aux-files/linux-libre/5.16-arm.conf, gnu/packages/aux-files/linux-libre/5.16-arm64.conf, gnu/packages/aux-files/linux-libre/5.16-i686.conf, gnu/packages/aux-files/linux-libre/5.16-x86_64.conf, gnu/packages/aux-files/linux-libre/5.4-arm.conf, gnu/packages/aux-files/linux-libre/5.4-arm64.conf, gnu/packages/aux-files/linux-libre/5.4-i686.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Set CONFIG_UNICODE=y. 2022-02-09Revert kernel modules changes to support the Coreboot framebufferLeo Famulari These changes broke the creation of the 'linux-modules-database' for all kernel series besides 5.15, 5.4, and 5.10, like this: ------ gnu/build/linux-modules.scm:257:5: kernel module not found "framebuffer_coreboot" "/gnu/store/yff45fr6q93mw44zdql9ffr95zcvwxcn-linux-libre-4.9.299/lib/modules" ------ We should support the coreboot framebuffer, but we need to test that change more completely before deploying it. This effectively reverts the following commits: 1dfe8c372163d481ebebb97dd3b4cafa49906b28 "gnu: linux-libre: Build simplefb into all x86{,_64} kernels." bc09e7ab569d5306ce99c5525150695c9d539ef0 "gnu: linux-libre: Support the Coreboot framebuffer." Fixes <https://issues.guix.gnu.org/52667> "System reconfiguration fails to build linux-modules.drv". 2022-02-07gnu: linux-libre: Build the snd-emu10k1 kernel module.Maxim Cournoyer Add the CONFIG_SND_EMU10K1=m and CONFIG_SND_EMU10K1_SEQ=m kernel options to all of our x86 and ARM configurations. The change automated via: $ git grep -rl CONFIG_SND_INDIGODJX | xargs grep -rL CONFIG_SND_EMU10K1=m \ | xargs sed '/CONFIG_SND_INDIGODJX=m/a\ CONFIG_SND_EMU10K1=m\nCONFIG_SND_EMU10K1_SEQ=m' -i 2022-02-07gnu: linux-libre: Enable CONFIG_ZONE_DMA in all configs.Maxim Cournoyer ZONE_DMA is still used by some kernel drivers such as older sound and network cards; it was already enabled on ARM and for some i686 kernels. Enable it everywhere for consistency. The change was automated with: $ git grep -rl CONFIG_ZONE_DMA | \ xargs sed 's/# CONFIG_ZONE_DMA is not set/CONFIG_ZONE_DMA=y/' -i * gnu/packages/aux-files/linux-libre/4.14-x86_64.conf: Enable CONFIG_ZONE_DMA. * gnu/packages/aux-files/linux-libre/4.19-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/4.4-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/4.9-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.16-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.16-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Likewise. 2022-01-26gnu: Add linux-libre 5.16.2.Leo Famulari * gnu/packages/aux-files/linux-libre/5.16-arm.conf, gnu/packages/aux-files/linux-libre/5.16-arm64.conf, gnu/packages/aux-files/linux-libre/5.16-i686.conf, gnu/packages/aux-files/linux-libre/5.16-x86_64.conf : New files. * Makefile.am (AUX_FILES): Add them. * gnu/packages/linux.scm (linux-libre-5.16-version, linux-libre-5.16-gnu-revision, deblob-scripts-5.16, linux-libre-5.16-pristine-source, linux-libre-5.16-source, linux-libre-headers-5.16, linux-libre-5.16): New variables. 2022-01-18gnu: linux-libre: Include pinctrl driver for Cherryview / Braswell hardware.Leo Famulari Fixes <https://issues.guix.gnu.org/53329>, "Integrated keyboard doesn't work (Lenovo N22)". Reported by Jack Ridehalgh <jack@ridehalgh.uk>. * gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Set CONFIG_PINCTRL_CHERRYVIEW=y. 2022-01-11gnu: Fix typo in kernel configs.Leo Famulari This option defaults to "N", so this fix does not change the effective kernel configuration. * gnu/packages/aux-files/linux-libre/5.15-i686.conf, nu/packages/aux-files/linux-libre/5.15-x86_64.conf: Replace "unset" with "not set". 2021-12-25gnu: linux-libre: Build simplefb into all x86{,_64} kernels.Tobias Geerinckx-Rice This attempts to mitigate <https://issues.guix.gnu.org/52667>. It makes linux-libre@5.15 consistent with older versions which do not support a modular simplefb, allowing a single %base-initrd-modules simple list for all of them. Unlike CONFIG_FB_SIMPLE=m, CONFIG_FB_SIMPLE=y conflicts with CONFIG_DRM_SIMPLEDRM, so the latter is now disabled. Let us hope it is not missed. * gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Unset CONFIG_DRM_SIMPLEDRM to build in CONFIG_FB_SIMPLE=y. * gnu/system/linux-initrd.scm (default-initrd-modules): Remove "simplefb". 2021-12-16gnu: linux-libre: Support the Coreboot framebuffer.Tobias Geerinckx-Rice via Guix-patches via Without this, the kernel cannot write to the display until the full-featured driver module (often i915) is loaded from the root file system. If the root file system is encrypted, the initrd's passphrase prompt won't make it to the screen, and the fully responsive system will appear frozen whilst waiting for user input. * gnu/packages/aux-files/linux-libre/4.4-i686.conf, gnu/packages/aux-files/linux-libre/4.4-x86_64.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf, gnu/packages/aux-files/linux-libre/4.19-i686.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf, gnu/packages/aux-files/linux-libre/5.4-i686.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf, gnu/packages/aux-files/linux-libre/5.10-i686.conf, gnu/packages/aux-files/linux-libre/5.10-x86_64.conf, gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Mark simple framebuffers as generic system ones and enable ‘Google’ firmware drivers to enable Coreboot table support and its dependent framebuffer driver module. * gnu/system/linux-initrd.scm (default-initrd-modules): Add the framebuffer_coreboot and simplefb modules on x86 systems. 2021-11-26gnu: Remove linux-libre 5.14.Leo Famulari * gnu/packages/linux.scm (linux-libre-5.14-version, linux-libre-5.14-gnu-revision, deblob-scripts-5.14, linux-libre-5.14-pristine-source, linux-libre-5.14-source, linux-libre-headers-5.14, linux-libre-5.14): Remove variables. * gnu/packages/aux-files/linux-libre/5.14-arm.conf, gnu/packages/aux-files/linux-libre/5.14-arm64.conf, gnu/packages/aux-files/linux-libre/5.14-i686.conf, gnu/packages/aux-files/linux-libre/5.14-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. 2021-11-26gnu: Add linux-libre 5.15.5.Leo Famulari * gnu/packages/linux.scm (linux-libre-5.15-version, linux-libre-5.15-gnu-revision, deblob-scripts-5.15, linux-libre-5.15-pristine-source, linux-libre-5.15-source, linux-libre-headers-5.15, linux-libre-5.15): New variables. * gnu/packages/aux-files/linux-libre/5.15-arm.conf, gnu/packages/aux-files/linux-libre/5.15-arm64.conf, gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them