aboutsummaryrefslogtreecommitdiff
;;; 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)))
€™ in inputs. <set-build-vars>: Search for ‘cython’ in native-inputs. [native-inputs]: Move ‘xdg-utils’ from here… [inputs]: … to here. Leo Prikler 2021-07-15gnu: python2-renpy: Update description....* gnu/packages/game-development.scm (python2-renpy)[description]: Mention, that it's only used for bootstrapping renpy. Leo Prikler 2021-07-15gnu: python2-renpy: Drop unused Ren'py sources....These sources are written in Ren'py (the language) and thus not particularly useful before renpy itself is built. In particular, they serve no purpose when installed without prior compilation. * gnu/packages/game-development.scm (python2-renpy)[#:phases]<install>: Drop installed "common" folder. (renpy)[#:phases]<install>: Adjust comment accordingly. Leo Prikler 2021-07-02gnu: tsukundere: Update to 0.3.2....* gnu/packages/game-development.scm (tsukundere): Update to 0.3.2. Leo Prikler 2021-07-02gnu: renpy: Update to 7.4.6....* gnu/packages/game-development.scm (python2-pygame-sdl2): Update to renpy-version 7.4.6. (python2-renpy): Update to version 7.4.6. Leo Prikler 2021-06-23Merge branch 'master' into core-updates...Conflicts: gnu/packages/cups.scm gnu/packages/python-web.scm gnu/packages/web.scm guix/build/maven/pom.scm Tobias Geerinckx-Rice 2021-06-22gnu: Add box2d....* gnu/packages/game-development.scm (box2d): New variable. Efraim Flashner 2021-06-19Merge branch 'master' into core-updates...Note: this merge actually changes the 'curl' and 'python-attrs' derivations, as part of solving caf4a7a2770ef4d05a6e18f40d602e51da749ddc and 12964df69a99de6190422c752fef65ef813f3b6b respectively. 4604d43c0e (gnu: gnutls@3.6.16: Fix cross-compilation.) was ignored because it cannot currently be tested. Conflicts: gnu/local.mk gnu/packages/aidc.scm gnu/packages/boost.scm gnu/packages/curl.scm gnu/packages/nettle.scm gnu/packages/networking.scm gnu/packages/python-xyz.scm gnu/packages/tls.scm Marius Bakke 2021-06-14gnu: Rename qtbase to qtbase-5....This change was automated via the following command: $ git ls-files | xargs sed -i 's/,qtbase)/,qtbase-5)/g' $ git ls-files | xargs sed -i 's/inherit qtbase)/inherit qtbase-5)/g' $ git ls-files | xargs sed -i 's/package-version qtbase)/package-version qtbase-5)/g' $ git checkout etc # to clear some spurious changes This is done so the qtbase package can be upgraded to version 6 in the following commit. Maxim Cournoyer 2021-06-10gnu: tsukundere: Update to 0.3.1....* gnu/packages/game-development.scm (tsukundere): Update to 0.3.1. [native-inputs]: Add gettext. Leo Prikler 2021-06-08gnu: renpy: Update to 7.4.5....* gnu/packages/game-development.scm (python2-pygame-sdl2): Bump renpy-version. (python2-renpy): Update to 7.4.5. Leo Prikler 2021-06-06Merge branch 'master' into core-updates... Conflicts: gnu/local.mk gnu/packages/algebra.scm gnu/packages/bioinformatics.scm gnu/packages/curl.scm gnu/packages/docbook.scm gnu/packages/emacs-xyz.scm gnu/packages/maths.scm gnu/packages/plotutils.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/readline.scm gnu/packages/tls.scm gnu/packages/xml.scm gnu/packages/xorg.scm Marius Bakke 2021-05-23gnu: ois: Update to 1.5.1....* gnu/packages/game-development.scm (ois): Update to 1.5.1. Tobias Geerinckx-Rice 2021-05-22Merge branch 'master' into core-updatesMarius Bakke 2021-05-17gnu: tsukundere: Update to 0.3.0....* gnu/packages/game-development.scm (tsukundere): Update to 0.3.0. [patch-command]: Patch path to guile. Construct load paths directly from inputs. [propagated-inputs]: Remove. [inputs]: Add guile and guile-sdl2. Leo Prikler 2021-05-15Merge branch 'master' into core-updatesLudovic Courtès 2021-05-15gnu: guile-chickadee: Update to 0.7.0....* gnu/packages/game-development.scm (guile-chickadee): Update to 0.7.0. Leo Prikler 2021-05-09gnu: python-sge: Update to 2.0.post0....* gnu/packages/game-development.scm (python-sge): Update to 2.0.post0. Kei Kebreau 2021-05-09Merge branch 'master' into core-updates... Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/django.scm gnu/packages/gtk.scm gnu/packages/llvm.scm gnu/packages/python-web.scm gnu/packages/python.scm gnu/packages/tex.scm guix/build-system/asdf.scm guix/build/emacs-build-system.scm guix/profiles.scm Marius Bakke 2021-04-19gnu: entt: Update to 3.7.1....* gnu/packages/game-development.scm (entt): Update to 3.7.1. Tobias Geerinckx-Rice 2021-04-16Merge remote-tracking branch 'origin/master' into core-updates... Conflicts: gnu/local.mk gnu/packages/boost.scm gnu/packages/chez.scm gnu/packages/compression.scm gnu/packages/crates-io.scm gnu/packages/docbook.scm gnu/packages/engineering.scm gnu/packages/gcc.scm gnu/packages/gl.scm gnu/packages/gtk.scm gnu/packages/nettle.scm gnu/packages/python-check.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/rust.scm gnu/packages/sqlite.scm guix/build-system/node.scm Efraim Flashner 2021-04-12gnu: gcc: Update gcc to 8....* gnu/packages/gcc.scm (gcc): Define as gcc-8. * gnu/packages/commencement.scm (gcc-toolchain-7): Use make-gcc-toolchain procedure. (gcc-toolchain-8): Define as gcc-toolchain. * gnu/packages/game-development (python2-renpy)[native-inputs], * gnu/packages/gnome.scm (gnome-commander)[native-inputs], * gnu/packages/wm.scm (waybar)[native-inputs]: Remove gcc-8. Efraim Flashner 2021-04-12gnu: renpy: Update to 7.4.4....* gnu/packages/game-development.scm (python2-renpy): Update to 7.4.4. (python2-pygame-sdl2)[renpy-version]: Likewise. Leo Prikler 2021-04-07gnu: tiled: Update to 1.5.0.David Thompson 2021-04-07gnu: Add entt....* gnu/packages/cpp.scm (entt): New variable. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at> Alexandru-Sergiu Marton 2021-03-24Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner 2021-03-18gnu: dhewm3: Update to 1.5.1....* gnu/packages/game-development.scm (dhewm3): Update to 1.5.1. Tobias Geerinckx-Rice 2021-03-17gnu: Use autoconf instead of autoconf-wrapper when possible....This should reduce confusion on when to use the "autoconf" package and when to use "autoconf-wrapper" instead in package definitions. Fixes <https://bugs.gnu.org/46564>. * gnu/packages/autotools.scm (autoconf-wrapper): advise to use the "autoconf" package instead where possible. * gnu/packages/game-development.scm (tsukundere)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/gimp.scm (glimpse)[native-inputs]: likewise. (gimp-resynthesizer)[native-inputs]: add comment on why "autoconf-wrapper" is used. * gnu/packages/gnunet.scm (gnunet)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/gnupg.scm (signing-party)[native-inputs]: add comment on why "autoconf-wrapper" is used. * gnu/packages/guile-xyz.scm (guile-bash,guile-filesystem,guile-ics,guile-udev)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/libevent.scm (libuv)[native-inputs]: indicates "autoconf-wrapper" needs to be replaced with "autoconf" on core-updates. * gnu/packages/logging.scm (glog)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/mail.scm (libetpan)[native-inputs]: likewise. * gnu/packages/mate.scm (mate-icon-theme-faenza)[native-inputs]: add comment on why "autoconf-wrapper" is used. (mate-screensaver)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/package-management.scm (guix)[native-inputs]: likewise. * gnu/packages/sawfish.scm (librep)[native-inputs]: likewise. * gnu/packages/video.scm (motion)[native-inputs]: likewise. * gnu/packages/zile.scm (zile)[native-inputs]: likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos 2021-03-06gnu: surgescript: Do not want static libraries....* gnu/packages/game-development.scm (surgescript)[arguments]: Add "-DWANT_STATIC=NO" to #:configure-flags. Tobias Geerinckx-Rice 2021-03-06gnu: surgescript: Update to 0.5.5....* gnu/packages/game-development.scm (surgescript): Update to 0.5.5. Tobias Geerinckx-Rice 2021-03-06Merge branch 'master' into core-updatesChristopher Baines 2021-02-28gnu: python2-pygame-sdl2: Use HTTPS home page URI....* gnu/packages/game-development.scm (python2-pygame-sdl2)[home-page]: Use HTTPS URI. Nicolas Goaziou 2021-02-11Merge branch 'master' into core-updatesDanny Milosavljevic