aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/squirrel.scm
blob: 1b9489882f69e354b06d854c1ec44659a6c15972 (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
78
79
80
81
82
83
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Li-cheng (Andy) Tai <atai@atai.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 squirrel)
  #:use-module (gnu packages)
  #:use-module (gnu packages cmake)
  #:use-module (gnu packages sphinx)
  #:use-module (guix build-system cmake)
  #:use-module (guix download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix build utils)
  #:use-module (guix packages)
  #:use-module (guix utils))

(define-public squirrel
  (package
    (name "squirrel")
    (version "3.1")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/squirrel/squirrel3/"
                                  "squirrel " version " stable/squirrel_"
                                  (string-join (string-split version #\.) "_")
                                  "_stable.tar.gz"))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1jyh1523zrrnh9swanfrda0s14mvwc9431dh07g0nx74hbxsfia8"))))
    (build-system cmake-build-system)
    (arguments
     '(#:configure-flags '("-DDISABLE_STATIC=ON")
       #:tests? #f ; no tests
       #:phases
       (modify-phases %standard-phases
         (add-after 'install 'install-documentation
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (doc-dir (string-append out "/share/doc/squirrel")))
               (for-each
                (lambda (file)
                  (install-file (string-append "../squirrel3/" file) doc-dir))
                '("COPYRIGHT" "HISTORY" "README"
                  "doc/sqstdlib3.pdf" "doc/squirrel3.pdf")))
             #t))
         (add-after 'install 'install-headers
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (include-dir (string-append out "/include/squirrel")))
               (mkdir-p include-dir)
               (for-each
                (lambda (header-file)
                  (copy-recursively header-file
                                    (string-append include-dir
                                                   "/"
                                                   (basename header-file))))
                (find-files "../squirrel3/include")))
             #t)))))
    (native-inputs
     `(("cmake" ,cmake-minimal)
       ("python-sphinx" ,python-sphinx)))
    (home-page "https://squirrel-lang.org/")
    (synopsis "High level imperative, object-oriented programming language")
    (description
     "Squirrel is a high level imperative, object-oriented programming
language, designed to be a light-weight scripting language that fits in the
size, memory bandwidth, and real-time requirements of applications like video
games.")
    (license license:expat)))
ed WebTransport requests could lead to denial of service CVE-2024-9400: Potential memory corruption during JIT compilation CVE-2024-9401: Memory safety bugs fixed in Firefox 131, Firefox ESR 115.16, Firefox ESR 128.3, Thunderbird 131, and Thunderbird 128.3 CVE-2024-9402: Memory safety bugs fixed in Firefox 131, Firefox ESR 128.3, Thunderbird 131, and Thunderbird 128.3 CVE-2024-9403: Memory safety bugs fixed in Firefox 131 and Thunderbird 131 CVE-2024-9680: Use-after-free in Animation timeline * gnu/packages/librewolf.scm (%librewolf-build-id): Update. (librewolf): Update to 131.0.2-1. [arguments]<#:phases>: Adjust 'install-desktop-entry for new .desktop file. Change-Id: I03f8a405c454a5bc3c8a1fc9f94d0ec9b41e92ec Modified-by: Hilton Chain <hako@ultrarare.space> Signed-off-by: Hilton Chain <hako@ultrarare.space> 2024-10-08gnu: librewolf: Revert video acceleration fix.Ian Eure This patch partly reverts #73429, because that change makes livestreaming video refuse to play. * gnu/packages/librewolf.scm (librewolf) [source]: Remove the librewolf-add-paths-to-rdd-allowlist patch. [phases] <wrap-program>: Reinstate previous LD_LIBRARY_PATH wrapping. * gnu/packages/patches/librewolf-add-paths-to-rdd-allowlist.patch: Delete file. * gnu/local.mk (dist_patch_DATA): De-register it. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: Iaf36c64464cd078538fda677ea4fa7b13e7c110f 2024-10-08gnu: librewolf: Fix broken context menu.Ian Eure This patch fixes a reported bug where context (right-click) menus contain many duplicate and incorrect entries. * gnu/packages/librewolf.scm (librewolf) [phases] <neuter-genai>: Reinstate the genai browser component. Change-Id: I288545ce80b9a7e854edfc26a7ffe43433303458 2024-09-24gnu: librewolf-source: Turn into a procedure.Ian Eure This patch changes the `librewolf-source' variable into the `make-librewolf-source' prodecure. This procedure accepts a LibreWolf version, source hash, and Firefox source hash. The Firefox source version is derived from the provided LibreWolf version. This eases package updates, since the hashes are inside the `librewolf' package, rather than `librewolf-source'; and the version no longer needs to be specified in three places. It also removes a blank line between the file header and `define-module'. * gnu/packages/librewolf.scm (librewolf-source): Turn into a procedure. Change-Id: I96ab1304acde246c179e7aa5dad9ff621be3de82 Signed-off-by: Andrew Tropin <andrew@trop.in> 2024-09-24gnu: librewolf: Update to 130.0.1-1. [security fixes]Ian Eure This patch: - Updates LibreWolf to the latest version - Removes the code which disabled encoding_rs.patch from upstream. It’s no longer in the repo, so the code did nothing, and the underlying issue (Guix being stuck with an old Rust version) has been fixed. - Integrates changes from #72265 with some slight tweaks. This should allow LibreWolf to use accelerated video decoding on supported hardware. - Neuters the GenAI chat feature, which direcly integrates with non-free services, by excluding it from the build and locking the preferences which would enable it. Fixes: CVE-2024-8385: WASM type confusion involving ArrayTypes CVE-2024-8381: Type confusion when looking up a property name in a "with" block CVE-2024-8388: Fullscreen notice on Android could be hidden under various panels and OS prompts CVE-2024-8382: Internal event interfaces were exposed to web content when browser EventHandler listener callbacks ran CVE-2024-8383: Firefox did not ask before openings news: links in an external application CVE-2024-8384: Garbage collection could mis-color cross-compartment objects in OOM conditions CVE-2024-8386: SelectElements could be shown over another site if popups are allowed CVE-2024-8387: Memory safety bugs fixed in Firefox 130, Firefox ESR 128.2, and Thunderbird 128.2 CVE-2024-8389: Memory safety bugs fixed in Firefox 130 * gnu/packages/librewolf.scm (librewolf): Update to 130.0.1-1. Change-Id: I764e6e66c5bfdc14a87b7ea59c29780a1f16769a Signed-off-by: Andrew Tropin <andrew@trop.in> 2024-08-31build-systems: gnu: Export %default-gnu-imported-modules and ↵Maxim Cournoyer %default-gnu-modules. Until now users would have to cargo cult or inspect the private %default-modules variable of (guix build-systems gnu) to discover which modules to include when extending the used modules via the #:modules argument. The renaming was automated via the command: $ git grep -l %gnu-build-system-modules | xargs sed 's/%gnu-build-system-modules/%default-gnu-imported-modules/' -i * guix/build-system/gnu.scm (%gnu-build-system-modules): Rename to... (%default-gnu-imported-modules): ... this. (%default-modules): Rename to... (%default-gnu-modules): ... this. Export. (dist-package, gnu-build, gnu-cross-build): Adjust accordingly. Change-Id: Idef307fff13cb76f3182d782b26e1cd3a5c757ee 2024-08-19gnu: librewolf: Update to 129.0.1-1.Ian Eure * gnu/packages/librewolf.scm (librewolf): Update to 129.0.1-1. Change-Id: Iefeff2ea7016e8d55313b55dd97179f80bcead1b Signed-off-by: Vagrant Cascadian <vagrant@debian.org> 2024-08-11gnu: librewolf: Use distinct WM Class.Ashvith Shetty Make desktop environments properly render the icon and not conflate LibreWolf with other browsers with the "Navigator" class. A similar fix to IceCat was pushed as commit be1d05c10766a979dd0720b677889ed950d3b895. * gnu/packages/librewolf.scm (librewolf)[arguments]: Set both the MOZ_APP_REMOTINGNAME environment variable and librewolf.desktop's StartupWMClass to "LibreWolf". Change-Id: I3e117f99ee25321fe3a40ad67450460971579d71