[PATCH] gnu: Add gambas.

  • Open
  • quality assurance status badge
Details
One participant
  • iyzsong
Owner
unassigned
Submitted by
iyzsong
Severity
normal
I
I
iyzsong wrote on 31 Jan 09:35 +0100
(address . guix-patches@gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
7c58af13a44a9a727c494d056dad188b858c3cf3.1738312496.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/patches/gambas-fix-desktop-file-creation.patch: New patch.
* gnu/packages/gambas.scm: New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
(GNU_SYSTEM_MODULES): Register file.

Change-Id: Ia96b34ce49d0e7512a179f8e55a51dc3449fda08
---
gnu/local.mk | 2 +
gnu/packages/gambas.scm | 172 ++++++++++++++++++
.../gambas-fix-desktop-file-creation.patch | 36 ++++
3 files changed, 210 insertions(+)
create mode 100644 gnu/packages/gambas.scm
create mode 100644 gnu/packages/patches/gambas-fix-desktop-file-creation.patch

Toggle diff (244 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index e8c807cf63..2e632ca2c3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -310,6 +310,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ftp.scm \
%D%/packages/fribidi.scm \
%D%/packages/fvwm.scm \
+ %D%/packages/gambas.scm \
%D%/packages/game-development.scm \
%D%/packages/games.scm \
%D%/packages/gawk.scm \
@@ -1333,6 +1334,7 @@ dist_patch_DATA = \
%D%/packages/patches/fuzzylite-soften-float-equality.patch \
%D%/packages/patches/fxdiv-system-libraries.patch \
%D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \
+ %D%/packages/patches/gambas-fix-desktop-file-creation.patch \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-haskell-pythondir.patch \
%D%/packages/patches/ganeti-lens-compat.patch \
diff --git a/gnu/packages/gambas.scm b/gnu/packages/gambas.scm
new file mode 100644
index 0000000000..632f3134b9
--- /dev/null
+++ b/gnu/packages/gambas.scm
@@ -0,0 +1,172 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2025 ??? <iyzsong@envs.net>
+;;;
+;;; 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 gambas)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (gnu packages )
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages crypto)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages gstreamer)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages libffi)
+ #:use-module (gnu packages mail)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages pdf)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages webkit)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg))
+
+(define-public gambas
+ (package
+ (name "gambas")
+ (version "3.20.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/gambas/gambas")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fw3nark7vaw4vbmdvaaqb0an4838k0hhwwvc3dqd7f2033d41xq"))
+ (patches
+ (search-patches "gambas-fix-desktop-file-creation.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:bootstrap-scripts #~'("reconf-all")
+ ;; XXX: Gambas executables expect a '#! /usr/bin/env gbr3' shebang.
+ #:patch-shebangs? #f
+ #:configure-flags
+ #~(list
+ (string-append "--with-inotify-includes="
+ #$(this-package-input "glibc")
+ "/include")
+ (string-append "--with-crypt-libraries="
+ #$(this-package-input "libxcrypt")
+ "/lib")
+ (string-append "--with-gmp-includes="
+ #$(this-package-input "gmp")
+ "/include")
+ (string-append "--with-gmp-libraries="
+ #$(this-package-input "gmp")
+ "/lib")
+ (string-append "--with-mysql-includes="
+ #$(this-package-input "mysql")
+ "/include/mysql")
+ (string-append "--with-mysql-libraries="
+ #$(this-package-input "mysql")
+ "/lib")
+ (string-append "--with-postgresql-includes="
+ #$(this-package-input "postgresql")
+ "/include")
+ (string-append "--with-postgresql-libraries="
+ #$(this-package-input "postgresql")
+ "/lib")
+ (string-append "--with-bzlib2-includes="
+ #$(this-package-input "bzip2")
+ "/include")
+ (string-append "--with-bzlib2-libraries="
+ #$(this-package-input "bzip2")
+ "/lib"))))
+ (native-inputs
+ (list autoconf
+ automake
+ libtool
+ gettext-minimal
+ pkg-config))
+ (inputs
+ (list alure
+ bzip2
+ cairo
+ curl
+ dbus
+ gdk-pixbuf
+ glew
+ glibc
+ glu
+ gmime
+ gmp
+ gsl
+ gst-plugins-base
+ gstreamer
+ gtk+
+ imlib2
+ libffi
+ libgnome-keyring
+ libice
+ libsm
+ libxcrypt
+ libxml2
+ libxslt
+ libxtst
+ (list zstd "lib")
+ mesa
+ mysql
+ ncurses
+ openal
+ openssl
+ pcre2
+ poppler
+ postgresql
+ qtbase
+ qtbase-5
+ qtsvg
+ qtsvg-5
+ qtwebengine
+ qtwebengine-5
+ qtx11extras
+ sdl2
+ sdl2-image
+ sdl2-mixer
+ sdl2-ttf
+ sqlite
+ unixodbc
+ v4l-utils
+ webkitgtk-for-gtk3
+ zlib))
+ (home-page "https://gambas.sourceforge.net/")
+ (synopsis "Object-oriented language and development platform")
+ (description
+ "GAMBAS is a free implementation of a graphical development environment
+based on a BASIC interpreter and a full development platform. It is very
+inspired by Visual Basic and Java.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/patches/gambas-fix-desktop-file-creation.patch b/gnu/packages/patches/gambas-fix-desktop-file-creation.patch
new file mode 100644
index 0000000000..348eac1881
--- /dev/null
+++ b/gnu/packages/patches/gambas-fix-desktop-file-creation.patch
@@ -0,0 +1,36 @@
+From 33ede510e056c8580346d2652b9dd0e1a1a1d961 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
+Date: Fri, 31 Jan 2025 15:55:55 +0800
+Subject: [PATCH] Store the temporary application desktop file in the
+ $XDG_DATA_HOME directory.
+
+[GB.GUI.BASE]
+* BUG: Store the temporary application desktop file in the $XDG_DATA_HOME directory.
+
+Upstream-status: Submitted to Benoît Minisini <benoit.minisini@gambas-basic.org>
+---
+ comp/src/gb.gui.base/.src/_Gui.class | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/comp/src/gb.gui.base/.src/_Gui.class b/comp/src/gb.gui.base/.src/_Gui.class
+index 3cdee23da..5c9a49f93 100644
+--- a/comp/src/gb.gui.base/.src/_Gui.class
++++ b/comp/src/gb.gui.base/.src/_Gui.class
+@@ -131,13 +131,7 @@ Static Public Sub _InitApp() As String
+ Dim iPos As Integer
+
+ $sAppId = "org.gambas." & CStr(Application.Handle)
+-
+- For Each sDir In Split(Env["XDG_DATA_DIRS"], ":")
+- If sDir Begins (User.Home & "/") Then Break
+- sDir = ""
+- Next
+-
+- If Not sDir Then sDir = User.Home &/ ".local/share"
++ sDir = GetDir("XDG_DATA_HOME", User.Home &/ ".local/share")
+ sDir &/= "applications"
+
+ Main.MkDir(sDir)
+--
+2.47.1
+

base-commit: c994e9262f9dbe4d688f688c92aedb3ee7ba4dfc
--
2.47.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75962@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75962
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch