From 69dfaaca4fb9ea34ed842f7b1cf19c4f98781d15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jurij=20Podgor=C5=A1ek?= Date: Wed, 21 Aug 2024 17:33:56 +0200 Subject: [PATCH] Nekaj guix paketov --- g1smo/packages/fluxus.scm | 102 + g1smo/packages/game-development.scm | 161 ++ g1smo/packages/guile.scm | 169 ++ g1smo/packages/javascript.scm | 4058 +++++++++++++++++++++++++++ g1smo/packages/python.scm | 97 + g1smo/packages/razno.scm | 296 ++ 6 files changed, 4883 insertions(+) create mode 100644 g1smo/packages/fluxus.scm create mode 100644 g1smo/packages/game-development.scm create mode 100644 g1smo/packages/guile.scm create mode 100644 g1smo/packages/javascript.scm create mode 100644 g1smo/packages/python.scm create mode 100644 g1smo/packages/razno.scm diff --git a/g1smo/packages/fluxus.scm b/g1smo/packages/fluxus.scm new file mode 100644 index 0000000..fb2b058 --- /dev/null +++ b/g1smo/packages/fluxus.scm @@ -0,0 +1,102 @@ +(define-module (g1smo packages fluxus) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix svn-download) + #:use-module (guix utils) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python) + #:use-module (guix build-system scons) + #:use-module (gnu packages) + #:use-module (gnu packages algebra) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages boost) + #:use-module (gnu packages build-tools) + #:use-module (gnu packages commencement) + #:use-module (gnu packages compression) + #:use-module (gnu packages check) + #:use-module (gnu packages curl) + #:use-module (gnu packages documentation) + #:use-module (gnu packages fltk) + #:use-module (gnu packages fonts) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages maths) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages fribidi) + #:use-module (gnu packages dbm) + #:use-module (gnu packages gawk) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages game-development) + #:use-module (gnu packages gnunet) + #:use-module (gnu packages graphics) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) + #:use-module (gnu packages image) + #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) + #:use-module (gnu packages lua) + #:use-module (gnu packages m4) + #:use-module (gnu packages mp3) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages music) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages readline) + #:use-module (gnu packages qt) + #:use-module (gnu packages sdl) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages stb) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages textutils) + #:use-module (gnu packages tls) + #:use-module (gnu packages video) + #:use-module (gnu packages web) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) + #:use-module (gnu packages racket)) + +(define-public fluxus + (package + (name "fluxus") + (version "0.19") + (source (origin (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/nebogeo/fluxus") + (commit "2259ab0be14c28fb49ea8f5db3ec6c49f52e1528"))) + (sha256 + (base32 + "1xhc06mhxipclrplsdq5fzb4kcgd04yzhpcnrp69cwpnlmydqnxz")))) + (build-system scons-build-system) + (arguments + `(#:scons ,scons-python2)) + (inputs + (list racket + ode + liblo + fftw)) + (native-inputs + (list glibc + pkg-config)) + (home-page "http://www.pawfal.org/Software/fluxus/") + (synopsis "A rapid prototyping, livecoding and playing/learning environment for 3D graphics, sound and games. ") + (description "A rapid prototyping, livecoding and playing/learning environment for 3D graphics, sound and games. ") + (license license:gpl2))) + diff --git a/g1smo/packages/game-development.scm b/g1smo/packages/game-development.scm new file mode 100644 index 0000000..6345bb8 --- /dev/null +++ b/g1smo/packages/game-development.scm @@ -0,0 +1,161 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Tomáš Čech +;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015, 2018, 2021 Ludovic Courtès +;;; Copyright © 2015, 2018 Alex Kost +;;; Copyright © 2015, 2016, 2017 David Thompson +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner +;;; Copyright © 2016, 2017, 2020 Kei Kebreau +;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2018 Julian Graham +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice +;;; Copyright © 2017 Manolis Fragkiskos Ragkousis +;;; Copyright © 2017 Peter Mikkelsen +;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017, 2019 Rutger Helling +;;; Copyright © 2018, 2022 Marius Bakke +;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019, 2020, 2021 Liliana Marie Prikler +;;; Copyright © 2019 Jethro Cao +;;; Copyright © 2020-2023 Nicolas Goaziou +;;; Copyright © 2020 Timotej Lazar +;;; Copyright © 2020 Giacomo Leidi +;;; Copyright © 2021 Alexandru-Sergiu Marton +;;; Copyright © 2021 Dmitry Polyakov +;;; Copyright © 2020-2022 James Smith +;;; Copyright © 2021 Ekaitz Zarraga +;;; Copyright © 2021 Andy Tai +;;; Copyright © 2022 Felix Gruber +;;; Copyright © 2022 Jai Vetrivelan +;;; Copyright © 2022 dan +;;; +;;; 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 . + +(define-module (g1smo packages game-development) + #:use-module ((srfi srfi-1) #:hide (zip)) + #:use-module (ice-9 match) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix svn-download) + #:use-module (guix utils) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python) + #:use-module (guix build-system scons) + #:use-module (gnu packages) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages boost) + #:use-module (gnu packages build-tools) + #:use-module (gnu packages compression) + #:use-module (gnu packages check) + #:use-module (gnu packages curl) + #:use-module (gnu packages documentation) + #:use-module (gnu packages fltk) + #:use-module (gnu packages fonts) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages fribidi) + #:use-module (gnu packages dbm) + #:use-module (gnu packages gawk) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gnunet) + #:use-module (gnu packages graphics) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) + #:use-module (gnu packages image) + #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) + #:use-module (gnu packages lua) + #:use-module (gnu packages m4) + #:use-module (gnu packages mp3) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages music) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages readline) + #:use-module (gnu packages qt) + #:use-module (gnu packages sdl) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages stb) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages textutils) + #:use-module (gnu packages tls) + #:use-module (gnu packages video) + #:use-module (gnu packages web) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) + +(define-public guile-chickadee + (package + (name "guile-chickadee") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (string-append "https://files.dthompson.us/chickadee/" + "chickadee-" version ".tar.gz")) + (sha256 + (base32 + "0b92lld7kj629mvq44vgd8vmf9h7s5gkdawb35vkzlx5q03wjfvk")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) + (propagated-inputs + `(("guile-opengl" ,guile3.0-opengl) + ("guile-sdl2" ,guile-sdl2))) + (inputs + (list freetype + guile-3.0-latest + libjpeg-turbo + libpng + libvorbis + mpg123 + openal + readline)) + (native-inputs + (list guile-3.0-latest pkg-config texinfo)) + (home-page "https://dthompson.us/projects/chickadee.html") + (synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL") + (description "Chickadee is a game development toolkit for Guile Scheme +built on top of SDL2 and OpenGL. Chickadee aims to provide all the features +that parenthetically inclined game developers need to make 2D (and eventually +3D) games in Scheme, such as: + +@enumerate +@item extensible, fixed-timestep game loop +@item OpenGL-based rendering engine +@item keyboard, mouse, controller input +@item REPL-driven development model +@end enumerate\n") + (license license:gpl3+))) + diff --git a/g1smo/packages/guile.scm b/g1smo/packages/guile.scm new file mode 100644 index 0000000..0c4d21d --- /dev/null +++ b/g1smo/packages/guile.scm @@ -0,0 +1,169 @@ +(define-module (g1smo packages guile) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system guile) + #:use-module (guix deprecation) + #:use-module (guix utils) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages guile) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages perl) + #:use-module (gnu packages compression) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages databases) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages autotools)) + +(define-public guile3-dbi + (package + (name "guile3-dbi") + (version "2.1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/opencog/guile-dbi") + (commit (string-append "guile-dbi-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "123m4j82bi60s1v95pjh4djb7bh6zdwmljbpyg7zq8ni2gyal7lw")))) + (build-system gnu-build-system) + (arguments + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:configure-flags + (list (string-append + "--with-guile-site-dir=" %output "/share/guile/site/" + (target-guile-effective-version (assoc-ref %build-inputs "guile")))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbi. + (chdir "guile-dbi"))) + (add-after 'install 'patch-extension-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dbi.scm (string-append out "/share/guile/site/" + (target-guile-effective-version + (assoc-ref inputs "guile")) + "/dbi/dbi.scm")) + (ext (string-append out "/lib/libguile-dbi"))) + (substitute* dbi.scm (("libguile-dbi") ext)))))))) + (inputs + (list libltdl)) + (native-inputs + (list autoconf automake libtool perl texinfo)) + (propagated-inputs + (list guile-3.0-latest)) + (synopsis "Guile database abstraction layer") + (home-page "https://github.com/opencog/guile-dbi") + (description + "guile-dbi is a library for Guile that provides a convenient interface to +SQL databases. Database programming with guile-dbi is generic in that the same +programming interface is presented regardless of which database system is used. +It currently supports MySQL, Postgres and SQLite3.") + (license license:gpl2+) + (native-search-paths + (list (search-path-specification + (variable "GUILE_DBD_PATH") + (files '("lib"))))))) + +(define-public guile3-dbd-sqlite3 + (package + (inherit guile3-dbi) + (name "guile3-dbd-sqlite3") + (arguments + (substitute-keyword-arguments (package-arguments guile3-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbd-sqlite3. + (chdir "guile-dbd-sqlite3"))) + (delete 'patch-extension-path))))) + (inputs + (modify-inputs (package-inputs guile3-dbi) + (prepend sqlite + zlib))) + (native-inputs + (modify-inputs (package-native-inputs guile3-dbi) + (prepend guile3-dbi ; only required for headers + pkg-config))) + (synopsis "Guile DBI driver for SQLite") + (description + "guile-dbi is a library for Guile that provides a convenient interface to +SQL databases. This package implements the interface for SQLite."))) + +(define-public guile3-dbd-postgresql + (package + (inherit guile3-dbi) + (name "guile3-dbd-postgresql") + (arguments + (substitute-keyword-arguments (package-arguments guile3-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbd-mysql. + (chdir "guile-dbd-postgresql"))) + (add-after 'chdir 'patch-src + (lambda _ + (substitute* "src/guile-dbd-postgresql.c" + (("postgresql/libpq-fe\\.h") "libpq-fe.h")))) + (delete 'patch-extension-path))))) + (inputs + (list postgresql zlib)) + (native-inputs + (modify-inputs (package-native-inputs guile3-dbi) + (prepend guile3-dbi ; only required for headers + ))) + (synopsis "Guile DBI driver for PostgreSQL") + (description + "@code{guile-dbi} is a library for Guile that provides a convenient +interface to SQL databases. This package implements the interface for +PostgreSQL."))) + +(define-public guile3-dbd-mysql + (package + (inherit guile3-dbi) + (name "guile3-dbd-mysql") + (arguments + (substitute-keyword-arguments (package-arguments guile3-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbd-mysql. + (chdir "guile-dbd-mysql"))) + (add-after 'chdir 'patch-src + (lambda _ + (substitute* "configure.ac" + (("mariadbclient") "mariadb")) + (substitute* "src/guile-dbd-mysql.c" + (("