Package: guix-patches;
Reported by: iyzsong <at> envs.net
Date: Fri, 31 Jan 2025 08:33:02 UTC
Severity: normal
Tags: patch
Done: 宋文武 <iyzsong <at> envs.net>
Bug is archived. No further changes may be made.
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.