aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/jemalloc.scm
blob: b5fdd399211c81c41b4da9303b948377230234c5 (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
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2021 Ryan Sundberg <ryan@arctype.co>
;;; Copyright © 2022 Marius Bakke <marius@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 jemalloc)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-26)
  #:use-module (ice-9 match)
  #:use-module ((guix licenses) #:select (bsd-2))
  #:use-module (guix packages)
  #:use-module (guix gexp)
  #:use-module (guix download)
  #:use-module (guix utils)
  #:use-module (gnu packages)
  #:use-module (gnu packages perl)
  #:use-module (guix build-system gnu))

(define-public jemalloc
  (package
    (name "jemalloc")
    (version "5.3.0")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "https://github.com/jemalloc/jemalloc/releases/download/"
                    version "/jemalloc-" version ".tar.bz2"))
              (sha256
               (base32
                "1apyxjd1ixy4g8xkr61p0ny8jiz8vyv1j0k4nxqkxpqrf4g2vf1d"))))
    (build-system gnu-build-system)
    (arguments
     (list
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'unpack 'delete-thp-test
            ;; This test does not check if transparent huge pages are supported
            ;; on the system before running the test.
            (lambda _
              (substitute* "Makefile.in"
                (("\\$\\(srcroot\\)test/unit/pages.c \\\\") "\\")))))
      #:configure-flags
      ;; Disable the thread local storage model in jemalloc 5 to prevent
      ;; shared libraries linked to libjemalloc from crashing on dlopen()
      ;; https://github.com/jemalloc/jemalloc/issues/937
      #~'("--disable-initial-exec-tls"
          #$@(match (%current-system)
               ("aarch64-linux"
                (list "--with-lg-page=14"))
               ("powerpc-linux"
                (list "CPPFLAGS=-maltivec"))
               (_
                '())))))
    (inputs (list perl))
    ;; Install the scripts to a separate output to avoid referencing Perl and
    ;; Bash in the default output, saving ~75 MiB on the closure.
    (outputs '("out" "bin"))
    (home-page "https://jemalloc.net/")
    (synopsis "General-purpose scalable concurrent malloc implementation")
    (description
     "This library providing a malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.")
    (license bsd-2)))
e='2024-02-01 18:34:22 +0100'>2024-02-01nls: Update translations....Change-Id: I42b5d41bdd5cd1b096c977e132b7a85992223402 Florian Pelz 2024-01-28home: Add home-dotfiles-service....* gnu/home/service/dotfiles.scm: New file; * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Essential Home Services): Document it. Change-Id: I6769169cfacefc3842faa5b31bee081c56c28743 Co-authored-by: Ludovic Courtès <ludo@gnu.org> Giacomo Leidi 2024-01-01nls: Update translations....Change-Id: Ib407fd37896cc8653f5bfb1f76dba9dc775c8c10 Florian Pelz 2023-12-01nls: Update translations....* po/guix/ca.po: New file. * po/guix/LINGUAS: Add ca.$ Change-Id: Ibae3f58ba702d7c5a4fafdd59a19f70aa8e18212 Florian Pelz 2023-10-31nls: Update translations....Change-Id: I432aec0ea31ead192d6444c96dc42038f5c7ab9a Florian Pelz 2023-10-05doc: Fix channel name typo....When the manual has "variant-personal-packages", it actually refers to the channel "variant-packages", as it is named so elsewhere. To correct this, I ran the command grep -r -l variant-personal-packages | xargs \ sed -i 's/variang-personal-packages/variant-packages/g' * doc/guix.texi (Specifying Additional Channels): Fix channel name typo. * po/doc/guix-manual.de.po: Fix channel name typo. * po/doc/guix-manual.es.po: Fix channel name typo. * po/doc/guix-manual.fr.po: Fix channel name typo. * po/doc/guix-manual.pt_BR.po: Fix channel name typo. * po/doc/guix-manual.ru.po: Fix channel name typo. * po/doc/guix-manual.zh_CN.po: Fix channel name typo. Signed-off-by: Nikolaos Chatzikonstantinou <nchatz314@gmail.com> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nikolaos Chatzikonstantinou 2023-09-30nls: Update translations.Florian Pelz 2023-08-31nls: Update translations.Florian Pelz 2023-07-31nls: Update translations.Florian Pelz 2023-06-30nls: Update translations....* po/packages/ja.po: New file. * po/packages/LINGUAS: Add it. Florian Pelz 2023-06-18Add 'guix locate'....* guix/scripts/locate.scm, tests/guix-locate.sh: New files. * Makefile.am (MODULES): Add 'guix/scripts/locate.scm'. (SH_TESTS): Add 'tests/guix-locate.sh'. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Invoking guix locate): New node. Co-authored-by: Antoine R. Dumont <antoine.romain.dumont@gmail.com> Ludovic Courtès 2023-05-31nls: Update translation keys for guix gc....* po/*/*.po (guix/scripts/gc.scm): Round MiBs in user feedback. Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de> Remco van 't Veer 2023-05-31nls: Update translations....* doc/guix-cookbook.texi (Top): Mention Slovak. Florian Pelz 2023-04-08nls: Make sure gnu/home/services/*.scm files are translatable....* po/guix/POTFILES.in: Add missing gnu/home/services/*.scm files. Ludovic Courtès 2023-03-16gnu: home: services: Add home-kodi-service-type....* gnu/home/services/media.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Likewise. * doc/guix.texi (Media Home Services): Document it in new subsection. Jan (janneke) Nieuwenhuizen 2023-03-16gnu: home: services: Add home-znc-service-type....* gnu/home/services/messaging.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/guix/POTFILES.in: Likewise. * doc/guix.texi (Messaging Home Services): Document it in new subsection. Jan (janneke) Nieuwenhuizen 2023-03-07nls: Fix more Texinfo Italiano....po/guix/it.po: Fix `@esempio`, `@sempio`, `@fine`. Julien Lepiller 2023-03-07nls: Update translations.Julien Lepiller 2023-02-26nls: Fix more Texinfo Italiano....* po/guix/it.po: Fix ‘@opzione’, ‘@comando’. Tobias Geerinckx-Rice 2023-02-26nls: Fix typo in Italian translation....I will, of course, fix this in Weblate or find someone who can, but this currently breaks ‘guix system search cups’. * po/guix/it.po: Fix ‘@dnf’ typo. Reported by tux_life in #guix: https://issues.guix.gnu.org/61961 Tobias Geerinckx-Rice 2023-02-03gnu: Remove key-mon.scm....The file is empty. * gnu/packages/key-mon.scm: Remove file. * gnu/local.mk (GNU_SYSTEM_MODULES): Remove it. * po/packages/POTFILES.in: Remove it. Julien Lepiller 2023-01-05nls: Update translations....* po/guix/ka.po: New file. * po/guix/LINGUAS: Add it. * po/packages/uk.po: New file. * po/packages/LINGUAS: Add it. Julien Lepiller 2022-12-15doc: Use VM image file name consistently....Previously, what "/tmp/qemu-image" refers to could be unclear at first. * doc/guix.texi (Running Guix in a VM): Use the original image file name instead of /tmp/qemu-image. * po/doc/guix-manual.de.po, po/doc/guix-manual.es.po, po/doc/guix-manual.fr.po, po/doc/guix-manual.pt_BR.po, po/doc/guix-manual.ru.po, po/doc/guix-manual.zh_CN.po: Adjust accordingly. Ludovic Courtès 2022-12-04nls: Update translations....po/packages/vi.po: New file. po/packages/LINGUAS: Add it. Julien Lepiller 2022-11-20scripts: Use translations for guix.pot for service descriptions....Previously, service descriptions appeared in both guix.pot and packages.pot, but only translations of packages.pot were used. Now, translations are only done with guix.pot. This is better, because translators are more likely to translate guix.pot, and is also easier, because files in gnu/{home/,}services need to be in po/guix/POTFILES.in anyway and po/guix/Makevars already acts on the 'description' keyword because of lint checkers. * guix/scripts/home.scm (service-type-description-string): Use translations from guix.pot. * guix/scripts/system/search.scm (service-type-description-string) (service-type->recutils): Likewise. * po/packages/POTFILES.in: Move files in gnu/services to ... * po/guix/POTFILES.in: ... here. pelzflorian (Florian Pelz) 2022-11-15installer: Report known-unsupported PCI devices....* gnu/installer/hardware.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add it. * po/guix/POTFILES.in: Add it. * gnu/installer.scm (installer-steps): Pass #:pci-database to the 'welcome' step procedure. * gnu/installer/newt.scm (welcome-page): Add #:pci-database and pass it to 'run-welcome-page'. * gnu/installer/newt/welcome.scm (check-hardware-support): Add #:pci-database. Enumerate unsupported PCI devices and run an error page when unsupported devices are found. (run-welcome-page): Add #:pci-database and pass it to 'check-hardware-support' and to the recursive call. * gnu/installer/record.scm (<installer>)[welcome-page]: Adjust comment. * doc/guix.texi (Hardware Considerations): Mention it. Ludovic Courtès 2022-11-04nls: Update translations....* po/guix/lt.po: New file. * po/guix/LINGUAS: Add lt. Julien Lepiller 2022-10-08po: Fix syntax error in French translation....* po/doc/guix-manual.fr.po: Add missing space. Ricardo Wurmus 2022-10-08po: Fix syntax error in German translation....* po/doc/guix-manual.de.po: Remove double wrapping of @uref. Ricardo Wurmus 2022-10-06nls: Update translations.Julien Lepiller 2022-10-06services: dhcp-client: Implement and use a configuration record....* gnu/services/networking.scm (dhcp-client-configuration): New record configuration. (dhcp-client-shepherd-service): Implement a shepher service. Provide a deprication message for legacy configurations. (dhcp-client-service-type): Use dhcp-client-shepherd-service. * doc/guix.texi (Networking Setup): Update. * po/guix/POTFILES.in: Add 'gnu/services/networking.scm'. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Alexey Abramov 2022-09-24services: Add samba service....* gnu/services/samba.scm: New file. * gnu/tests/samba.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add them. * po/guix/POTFILES.in Add 'gnu/services/samba.scm'. * doc/guix.texi: Document it. Signed-off-by: Lars-Dominik Braun <lars@6xq.net> Simon Streit 2022-09-04nls: Update translations.Julien Lepiller 2022-08-16ui: Describe package outputs....* guix/ui.scm (package->recutils): Output outputs with their descriptions, one per line. * po/packages/Makevars (XGETTEXT_OPTIONS): Add ‘output-synopsis’ as keyword. Liliana Marie Prikler 2022-08-11po: Add 'guix/read-print.scm'....This is a followup to b21d05d232ec0aba5abec20e83cc52c1d5163cc3. * po/guix/POTFILES.in: Add 'guix/read-print.scm'. Ludovic Courtès 2022-08-10nls: Update translations....po/guix/bn.po: New file. po/guix/LINGUAS: Add it. Julien Lepiller