GNU bug report logs - #75962
[PATCH] gnu: Add gambas.

Previous Next

Package: guix-patches;

Reported by: iyzsong <at> envs.net

Date: Fri, 31 Jan 2025 08:33:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 75962 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#75962; Package guix-patches. (Fri, 31 Jan 2025 08:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to iyzsong <at> envs.net:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 31 Jan 2025 08:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> envs.net
To: guix-patches <at> gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>
Subject: [PATCH] gnu: Add gambas.
Date: Fri, 31 Jan 2025 16:35:02 +0800
From: 宋文武 <iyzsong <at> 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

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 <at> 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 <at> 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 <at> 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





This bug report was last modified 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.