mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-04-07 06:19:59 +02:00
Add files via upload
This commit is contained in:
54
build-aux/flatpak/patches/fix-appdata.patch
Normal file
54
build-aux/flatpak/patches/fix-appdata.patch
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
From 5cb80674cec7363ed00bab5248b3674ca5241c2f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Sabri=20=C3=9Cnal?= <yakushabb@gmail.com>
|
||||||
|
Date: Fri, 20 Feb 2026 22:56:52 +0300
|
||||||
|
Subject: [PATCH] Fix appdata paper cuts
|
||||||
|
|
||||||
|
---
|
||||||
|
misc/qelectrotech.appdata.xml | 26 ++++++++++++++++++++------
|
||||||
|
1 file changed, 20 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/misc/qelectrotech.appdata.xml b/misc/qelectrotech.appdata.xml
|
||||||
|
index dd06ab7..eb02119 100644
|
||||||
|
--- a/misc/qelectrotech.appdata.xml
|
||||||
|
+++ b/misc/qelectrotech.appdata.xml
|
||||||
|
@@ -1,7 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Copyright 2006-2023 The QElectroTech Team -->
|
||||||
|
-<application>
|
||||||
|
- <id type="desktop">qelectrotech.desktop</id>
|
||||||
|
+<component type="desktop-application">
|
||||||
|
+ <id>org.qelectrotech.QElectroTech</id>
|
||||||
|
+ <launchable type="desktop-id">qelectrotech.desktop</launchable>
|
||||||
|
<metadata_license>MIT</metadata_license>
|
||||||
|
<project_license>GPL-2.0-or-later</project_license>
|
||||||
|
<name>QElectroTech</name>
|
||||||
|
@@ -83,9 +84,22 @@
|
||||||
|
QET は要素と回路図に XML 形式を利用し、回路図エディタ、要素エディタ、表題欄エディタを含みます。
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
- <url type="homepage">http://qelectrotech.org</url>
|
||||||
|
+ <url type="homepage">https://qelectrotech.org</url>
|
||||||
|
+ <url type="bugtracker">https://qelectrotech.org/bugtracker</url>
|
||||||
|
+ <url type="vcs-browser">https://github.com/qelectrotech/qelectrotech-source-mirror</url>
|
||||||
|
+ <developer id="org.qelectrotech">
|
||||||
|
+ <name>QElectroTech</name>
|
||||||
|
+ </developer>
|
||||||
|
<screenshots>
|
||||||
|
- <screenshot type="default">http://download.tuxfamily.org/qet/screens/qelectrotech5.png</screenshot>
|
||||||
|
+ <screenshot type="default">
|
||||||
|
+ <image>https://qelectrotech.org/screenshots/qet_overview04.png</image>
|
||||||
|
+ </screenshot>
|
||||||
|
+ <screenshot>
|
||||||
|
+ <image>https://qelectrotech.org/screenshots/qet_overview06.png</image>
|
||||||
|
+ </screenshot>
|
||||||
|
+ <screenshot>
|
||||||
|
+ <image>https://qelectrotech.org/screenshots/qet_overview09.png</image>
|
||||||
|
+ </screenshot>
|
||||||
|
</screenshots>
|
||||||
|
- <updatecontact>qet@lists.tuxfamily.org</updatecontact>
|
||||||
|
-</application>
|
||||||
|
+ <update_contact>qet@lists.tuxfamily.org</update_contact>
|
||||||
|
+</component>
|
||||||
|
--
|
||||||
|
2.53.0
|
||||||
|
|
||||||
27
build-aux/flatpak/patches/fix-the-installation-paths.patch
Normal file
27
build-aux/flatpak/patches/fix-the-installation-paths.patch
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
diff -ruN a/qelectrotech.pro b/qelectrotech.pro
|
||||||
|
--- a/qelectrotech.pro 2023-04-20 11:47:07.695847458 +0200
|
||||||
|
+++ b/qelectrotech.pro 2023-04-20 11:51:14.843611898 +0200
|
||||||
|
@@ -5,18 +5,18 @@
|
||||||
|
# Chemins utilises pour la compilation et l'installation de QET
|
||||||
|
unix {
|
||||||
|
# Chemins UNIX
|
||||||
|
- COMPIL_PREFIX = '/usr/local/'
|
||||||
|
- INSTALL_PREFIX = '/usr/local/'
|
||||||
|
+ COMPIL_PREFIX = '/app/'
|
||||||
|
+ INSTALL_PREFIX = '/app/'
|
||||||
|
QET_BINARY_PATH = 'bin/'
|
||||||
|
QET_COMMON_COLLECTION_PATH = 'share/qelectrotech/elements/'
|
||||||
|
QET_COMMON_TBT_PATH = 'share/qelectrotech/titleblocks/'
|
||||||
|
QET_LANG_PATH = 'share/qelectrotech/lang/'
|
||||||
|
QET_EXAMPLES_PATH = 'share/qelectrotech/examples/'
|
||||||
|
- QET_LICENSE_PATH = 'doc/qelectrotech/'
|
||||||
|
- QET_MIME_PACKAGE_PATH = '../share/mime/packages/'
|
||||||
|
+ QET_LICENSE_PATH = 'share/doc/qelectrotech/'
|
||||||
|
+ QET_MIME_PACKAGE_PATH = 'share/mime/packages/'
|
||||||
|
QET_DESKTOP_PATH = 'share/applications/'
|
||||||
|
QET_ICONS_PATH = 'share/icons/hicolor/'
|
||||||
|
- QET_MAN_PATH = 'man/'
|
||||||
|
+ QET_MAN_PATH = 'share/man/'
|
||||||
|
QET_APPDATA_PATH = 'share/appdata'
|
||||||
|
}
|
||||||
|
win32 {
|
||||||
184
build-aux/flatpak/patches/tkinter-build.patch
Normal file
184
build-aux/flatpak/patches/tkinter-build.patch
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
commit 3bbb09a0598fc976d2bf8dac932b27740086c1bd
|
||||||
|
Author: Hubert Figuière <hub@figuiere.net>
|
||||||
|
Date: Sun Dec 21 17:49:43 2025 -0500
|
||||||
|
|
||||||
|
Port to Python 3.13
|
||||||
|
|
||||||
|
Signed-off-by: Hubert Figuière <hub@figuiere.net>
|
||||||
|
|
||||||
|
diff --git a/_tkinter.c b/_tkinter.c
|
||||||
|
index e537707..dfc5789 100644
|
||||||
|
--- a/_tkinter.c
|
||||||
|
+++ b/_tkinter.c
|
||||||
|
@@ -21,7 +21,6 @@ Copyright (C) 1994 Steen Lumholt.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#define PY_SSIZE_T_CLEAN
|
||||||
|
#ifndef Py_BUILD_CORE_BUILTIN
|
||||||
|
# define Py_BUILD_CORE_MODULE 1
|
||||||
|
#endif
|
||||||
|
@@ -32,6 +31,9 @@ Copyright (C) 1994 Steen Lumholt.
|
||||||
|
# include "pycore_fileutils.h" // _Py_stat()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#include "pycore_long.h" // _PyLong_IsNegative()
|
||||||
|
+#include "pycore_sysmodule.h" // _PySys_GetOptionalAttrString()
|
||||||
|
+
|
||||||
|
#ifdef MS_WINDOWS
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
@@ -135,7 +137,7 @@ _get_tcl_lib_path()
|
||||||
|
struct stat stat_buf;
|
||||||
|
int stat_return_value;
|
||||||
|
|
||||||
|
- prefix = PyUnicode_FromWideChar(Py_GetPrefix(), -1);
|
||||||
|
+ (void) _PySys_GetOptionalAttrString("base_prefix", &prefix);
|
||||||
|
if (prefix == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
@@ -143,9 +145,11 @@ _get_tcl_lib_path()
|
||||||
|
/* Check expected location for an installed Python first */
|
||||||
|
tcl_library_path = PyUnicode_FromString("\\tcl\\tcl" TCL_VERSION);
|
||||||
|
if (tcl_library_path == NULL) {
|
||||||
|
+ Py_DECREF(prefix);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
tcl_library_path = PyUnicode_Concat(prefix, tcl_library_path);
|
||||||
|
+ Py_DECREF(prefix);
|
||||||
|
if (tcl_library_path == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
@@ -959,7 +963,8 @@ AsObj(PyObject *value)
|
||||||
|
(unsigned char *)(void *)&wideValue,
|
||||||
|
sizeof(wideValue),
|
||||||
|
PY_LITTLE_ENDIAN,
|
||||||
|
- /* signed */ 1) == 0) {
|
||||||
|
+ /* signed */ 1,
|
||||||
|
+ /* with_exceptions */ 1) == 0) {
|
||||||
|
return Tcl_NewWideIntObj(wideValue);
|
||||||
|
}
|
||||||
|
PyErr_Clear();
|
||||||
|
@@ -1988,7 +1993,7 @@ _tkinter_tkapp_getboolean(TkappObject *self, PyObject *arg)
|
||||||
|
int v;
|
||||||
|
|
||||||
|
if (PyLong_Check(arg)) { /* int or bool */
|
||||||
|
- return PyBool_FromLong(Py_SIZE(arg) != 0);
|
||||||
|
+ return PyBool_FromLong(!_PyLong_IsZero((PyLongObject *)arg));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PyTclObject_Check(arg)) {
|
||||||
|
diff --git a/clinic/_tkinter.c.h b/clinic/_tkinter.c.h
|
||||||
|
index 9103565..f43510d 100644
|
||||||
|
--- a/clinic/_tkinter.c.h
|
||||||
|
+++ b/clinic/_tkinter.c.h
|
||||||
|
@@ -2,6 +2,8 @@
|
||||||
|
preserve
|
||||||
|
[clinic start generated code]*/
|
||||||
|
|
||||||
|
+#include "pycore_modsupport.h" // _PyArg_BadArgument()
|
||||||
|
+
|
||||||
|
PyDoc_STRVAR(_tkinter_tkapp_eval__doc__,
|
||||||
|
"eval($self, script, /)\n"
|
||||||
|
"--\n"
|
||||||
|
@@ -426,7 +428,7 @@ _tkinter_tkapp_createfilehandler(TkappObject *self, PyObject *const *args, Py_ss
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
file = args[0];
|
||||||
|
- mask = _PyLong_AsInt(args[1]);
|
||||||
|
+ mask = PyLong_AsInt(args[1]);
|
||||||
|
if (mask == -1 && PyErr_Occurred()) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
@@ -490,7 +492,7 @@ _tkinter_tkapp_createtimerhandler(TkappObject *self, PyObject *const *args, Py_s
|
||||||
|
if (!_PyArg_CheckPositional("createtimerhandler", nargs, 2, 2)) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
- milliseconds = _PyLong_AsInt(args[0]);
|
||||||
|
+ milliseconds = PyLong_AsInt(args[0]);
|
||||||
|
if (milliseconds == -1 && PyErr_Occurred()) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
@@ -524,7 +526,7 @@ _tkinter_tkapp_mainloop(TkappObject *self, PyObject *const *args, Py_ssize_t nar
|
||||||
|
if (nargs < 1) {
|
||||||
|
goto skip_optional;
|
||||||
|
}
|
||||||
|
- threshold = _PyLong_AsInt(args[0]);
|
||||||
|
+ threshold = PyLong_AsInt(args[0]);
|
||||||
|
if (threshold == -1 && PyErr_Occurred()) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
@@ -558,7 +560,7 @@ _tkinter_tkapp_dooneevent(TkappObject *self, PyObject *const *args, Py_ssize_t n
|
||||||
|
if (nargs < 1) {
|
||||||
|
goto skip_optional;
|
||||||
|
}
|
||||||
|
- flags = _PyLong_AsInt(args[0]);
|
||||||
|
+ flags = PyLong_AsInt(args[0]);
|
||||||
|
if (flags == -1 && PyErr_Occurred()) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
@@ -741,29 +743,29 @@ _tkinter_create(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
|
||||||
|
if (nargs < 4) {
|
||||||
|
goto skip_optional;
|
||||||
|
}
|
||||||
|
- interactive = _PyLong_AsInt(args[3]);
|
||||||
|
- if (interactive == -1 && PyErr_Occurred()) {
|
||||||
|
+ interactive = PyObject_IsTrue(args[3]);
|
||||||
|
+ if (interactive < 0) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
if (nargs < 5) {
|
||||||
|
goto skip_optional;
|
||||||
|
}
|
||||||
|
- wantobjects = _PyLong_AsInt(args[4]);
|
||||||
|
- if (wantobjects == -1 && PyErr_Occurred()) {
|
||||||
|
+ wantobjects = PyObject_IsTrue(args[4]);
|
||||||
|
+ if (wantobjects < 0) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
if (nargs < 6) {
|
||||||
|
goto skip_optional;
|
||||||
|
}
|
||||||
|
- wantTk = _PyLong_AsInt(args[5]);
|
||||||
|
- if (wantTk == -1 && PyErr_Occurred()) {
|
||||||
|
+ wantTk = PyObject_IsTrue(args[5]);
|
||||||
|
+ if (wantTk < 0) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
if (nargs < 7) {
|
||||||
|
goto skip_optional;
|
||||||
|
}
|
||||||
|
- sync = _PyLong_AsInt(args[6]);
|
||||||
|
- if (sync == -1 && PyErr_Occurred()) {
|
||||||
|
+ sync = PyObject_IsTrue(args[6]);
|
||||||
|
+ if (sync < 0) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
if (nargs < 8) {
|
||||||
|
@@ -814,7 +816,7 @@ _tkinter_setbusywaitinterval(PyObject *module, PyObject *arg)
|
||||||
|
PyObject *return_value = NULL;
|
||||||
|
int new_val;
|
||||||
|
|
||||||
|
- new_val = _PyLong_AsInt(arg);
|
||||||
|
+ new_val = PyLong_AsInt(arg);
|
||||||
|
if (new_val == -1 && PyErr_Occurred()) {
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index f379305..cf7b6ad 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -3,11 +3,11 @@ from distutils.core import setup, Extension
|
||||||
|
module1 = Extension('_tkinter',
|
||||||
|
libraries=['tcl8.6', 'tk8.6'],
|
||||||
|
sources=['_tkinter.c'],
|
||||||
|
- include_dirs=['/app/include/'])
|
||||||
|
+ include_dirs=['/app/include/', '/usr/include/python3.13/internal/'])
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name='tkinter-standalone',
|
||||||
|
- version='3.11',
|
||||||
|
+ version='3.13',
|
||||||
|
description='Tkinter packaged as an external package for flatpak.',
|
||||||
|
ext_modules=[module1],
|
||||||
|
packages=["tkinter"]
|
||||||
Reference in New Issue
Block a user