Skip to content

Commit 7330191

Browse files
committed
Ver 2.2.7, tweaks to build
1 parent 4cbabcc commit 7330191

File tree

10 files changed

+249
-15
lines changed

10 files changed

+249
-15
lines changed

README.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ README
77
========
88

99

10-
<sub>Don't edit this markdown file, its generated from the tomboy-ng note.</sub>
11-
12-
1310

1411
**Please Note :** you probably don't need these files unless you are using Lazarus Main and Qt6. Several LTS distros will not have a viable Qt6 at present.
1512

@@ -89,6 +86,37 @@ OK, we are now on the third packaging of the same library. All to do with versio
8986

9087
**Building this Library**
9188
--------
89+
By using an experimental PPA we can install Qt6.2.2 (not 6.2.3) on a U2004 so, avoid the dreaded libc and get a Qt6 almost exactly as Zeljko want. So far, seems to work. This model is a credit to **salvadorbs** who worked out how to do this as a github action.
90+
91+
**First Time**
92+
* Build a U2004 VM, bring it up to date
93+
94+
* Add the Qt6.2.2 PPA -
95+
96+
* sudo add-apt-repository ppa:okirby/qt6-backports; sudo apt update;
97+
98+
* sudo apt install qt6-base-dev build-essential libgl1-mesa-dev rpm lintian devscripts vim
99+
100+
* Then, pull down (or refresh) a git copy of this repo into ~/Pascal (ie /home/$USER/Pascal/libqt6pas)
101+
102+
* cd into cbindings and run the script, refresh.bash (it will pull down just the relevent parts of lazarus from gitlab and patch your local libqt6pas tree if necessary)
103+
104+
* Remove any existing library and symlinks. make (to build library binary)
105+
106+
* cd down into packages and update the whatsnew file.
107+
108+
* run DEBEMAIL=YOUR_EMAIL bash ./package-lib, it should build the packages for you.
109+
110+
111+
112+
Now, push the changes you made to the source earlier back up to github, create a new release page and give it an appropriate version tag. Upload the files, the tag will be created when the release is published.
113+
114+
115+
116+
117+
118+
**Legacy Information**
119+
--------
92120
Right now, seems the only way to make a generic library package is to make the Library on a Fedora 35 box and then package on an Ubuntu 20.04 box. This is because
93121

94122
* Fedora 35 has the older Qt6 6.2.3 that the interface is based on. If built on a later Qt6, then the earlier end user systems will not be supported.

cbindings/Qt6Pas.pro

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010

1111

1212

13-
# Binding Release Version 6.2.6 against Qt6 6.2 LTS release.
13+
# Binding Release Version 6.2.7 against Qt6 6.2 LTS release.
1414

15-
win32:VERSION = 6.2.6.0
16-
else:VERSION = 6.2.6
15+
win32:VERSION = 6.2.7.0
16+
else:VERSION = 6.2.7
1717
VER_MAJ = 6
1818
VER_MIN = 2
19-
VER_PAT = 6
19+
VER_PAT = 7
2020
win32:VERSION_PE_HEADER = 6.2
2121

2222
QT += gui printsupport

cbindings/package/changelog

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
libqt6pas (6.2.7) unstable; urgency=medium
2+
3+
* Release of new version.
4+
* added startSystemMove() & startSystemResize() to the C bindings for
5+
better wayland integration
6+
* Please see Lazarus at gitlab for further change details.
7+
8+
-- David Bannon <[email protected]> Wed, 06 Sep 2023 16:12:23 +1000
9+
10+
libqt6pas (1.0) unstable; urgency=medium
11+
12+
* Initial release of Qt6 version
13+
14+
-- David Bannon <[email protected]> Sat, 12 Nov 2022 16:22:01 +1100
15+
16+
libqt5pas (1.2.9) unstable; urgency=medium
17+
18+
* TLazAccessibleObject accessinility functionality for Qt5 widgetsets
19+
20+
-- David Bannon <[email protected]> Tue, 06 Apr 2021 18:29:02 +1100
21+
22+
libqt5pas (1.2.8) unstable; urgency=medium
23+
24+
* Calling this version 1.2.8
25+
* Zeljko added QLCLOpenGLWidget, Lazarus issue #36342
26+
* Zeljko fixed Lazarus issue #35657
27+
* Zeljko fixed Lazarus issue #35156 and reved to ver 1.2.7
28+
* Range of 2018 fixes.
29+
30+
-- David Bannon <[email protected]> Thu, 19 Mar 2020 17:47:01 +1100
31+
32+
libqtpas (2.6~beta-4) unstable; urgency=medium
33+
34+
* Drop d/watch as it is now distributed inside the lazarus tar ball
35+
* Update symbols file for GCC 7 (Closes: #853505)
36+
37+
-- Paul Gevers <[email protected]> Sat, 05 Aug 2017 18:36:01 -0400
38+
39+
libqtpas (2.6~beta-3) unstable; urgency=medium
40+
41+
* Upload to unstable
42+
* Invert arch logic for one symbol in the symbols file
43+
* Bump standards version to 4.0.0 (no changes)
44+
45+
-- Paul Gevers <[email protected]> Mon, 10 Jul 2017 20:27:50 +0200
46+
47+
libqtpas (2.6~beta-2) experimental; urgency=medium
48+
49+
* Patch code with changes from lazarus 1.8~rc2
50+
* Update Željan's name in d/copyright
51+
52+
-- Paul Gevers <[email protected]> Thu, 08 Jun 2017 21:45:35 +0200
53+
54+
libqtpas (2.6~beta-1) experimental; urgency=medium
55+
56+
* Team upload
57+
* Package new release from the qt5/cbindings tree from the 1.8~rc1
58+
release of lazarus
59+
* Refresh patches (drop one applied upstream)
60+
* Convert d/copyright to machine readable format
61+
* Update symbols file (some are actually dropped)
62+
63+
-- Paul Gevers <[email protected]> Wed, 24 May 2017 22:18:27 +0200
64+
65+
libqtpas (2.6~alpha-1) experimental; urgency=medium
66+
67+
* Team upload
68+
* Package upstream 2.6Alpha (Closes: #784493)
69+
- soname bump, so create new binary packages
70+
- Update copyright (years)
71+
* Refresh patch
72+
* Add find_QtPrintSupport.patch to add printsupport to the include path
73+
to prevent FTBFS
74+
* Update watch file
75+
* Bump debhelper compat level to 10
76+
* Enable hardening
77+
* Change build-depends from fpc to fp-units-rtl as that is lighter and
78+
serves the same purpose (prevent building on non-fpc supported arches)
79+
80+
-- Paul Gevers <[email protected]> Wed, 23 Nov 2016 22:08:43 +0100
81+
82+
libqtpas (2.5-18) unstable; urgency=medium
83+
84+
* Update .symbols file again, this time for armel
85+
- This is getting ridiculous - future versions of this library
86+
should compile with default-hidden symbol visibility and mark
87+
symbols that are actually supposed to be used by the library
88+
users as visible explicitly.
89+
90+
-- Matthias Klumpp <[email protected]> Wed, 31 Aug 2016 10:48:17 +0200
91+
92+
libqtpas (2.5-17) unstable; urgency=medium
93+
94+
* Compile with inlines-hidden
95+
* Update symbols file for GCC 6 (Closes: #811965)
96+
97+
-- Matthias Klumpp <[email protected]> Wed, 10 Aug 2016 22:35:55 +0200
98+
99+
libqtpas (2.5-16) unstable; urgency=medium
100+
101+
* Transfer package to Pascal packaging team
102+
* Bump standards version: No changes needed
103+
* Rename source package to a more generic name
104+
- Pick "libqtpas" instead of the more upstream-ish "qtpas", to avoid
105+
confusion with the "qtpass" package.
106+
* Use secure Vcs-* URLs
107+
108+
-- Matthias Klumpp <[email protected]> Thu, 30 Jun 2016 11:34:54 +0200
109+
110+
libqt4pas (2.5-15) unstable; urgency=medium
111+
112+
* Update symbols file (Closes: #804304)
113+
- Fixes build on ppc64 and arm64
114+
115+
-- Matthias Klumpp <[email protected]> Wed, 10 Feb 2016 19:56:58 +0100
116+
117+
libqt4pas (2.5-14) unstable; urgency=medium
118+
119+
* Update symbols file
120+
121+
-- Matthias Klumpp <[email protected]> Sat, 08 Aug 2015 16:45:56 +0200
122+
123+
# For older changelog entries, run 'apt-get changelog libqt5pas1'

cbindings/package/libqt6pas-devel.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Name: libqt6pas6-devel
33
Version:
44
Release:
55
Summary: Qt6 interface bindings for Pascal Devel Package
6-
License: see /usr/share/doc/libqt6pas6/copyright
6+
License: LGPLv2
77
Packager: David Bannon <[email protected]>
88
URL: https://github.com/davidbannon/libqt6pas
99
Requires: INSERT_DEPEND

cbindings/package/libqt6pas6.spec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Name: libqt6pas6
33
Version:
44
Release:
55
Summary: Qt6 interface bindings for Pascal
6-
License: see /usr/share/doc/libqt6pas6/copyright
6+
License: LGPLv2
77
Packager: David Bannon <[email protected]>
88
URL: https://github.com/davidbannon/libqt6pas
99

@@ -30,6 +30,9 @@ Lazarus main, current release versions do not need it.
3030
"/usr/share/doc/libqt6pas6/changelog.gz"
3131
"/usr/share/doc/libqt6pas6/copyright"
3232

33+
%post -p /sbin/ldconfig
34+
%postun -p /sbin/ldconfig
35+
3336
%changelog
3437
* Thu Nov 24 2022 David Bannon <[email protected]> - INSERT_FULL_VER
3538
- Initial version of the package

cbindings/package/package-lib

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,20 @@ function DebianPackage () {
109109

110110
echo "activate-noawait ldconfig" > BUILD/DEBIAN/triggers
111111
echo "libQt6Pas $MAJORVER libqt6pas$MAJORVER" > BUILD/DEBIAN/shlibs
112-
gzip -knc --best changelog.libqt6pas >> BUILD/usr/share/doc/"$PRODUCT"/changelog.gz
112+
113+
dch -cchangelog -v "$MAJORVER"."$MINORVER"."$EXTRAVER" -D"unstable" "Release of new version."
114+
if [ -f whatsnew ]; then
115+
echo "---------- Including whatsnew in changelog"
116+
while IFS= read -r Line; do
117+
dch -cchangelog --append "$Line"
118+
done < whatsnew
119+
fi
120+
dch -cchangelog --append "Please see Lazarus at gitlab for further change details."
121+
122+
123+
124+
125+
gzip -knc --best changelog >> BUILD/usr/share/doc/"$PRODUCT"/changelog.gz
113126
# ------ Make the md5sum file -----------
114127
cd BUILD
115128
md5sum usr/lib/"$DIR_ARCH"/"$LIBNAME".so."$VERSION" > DEBIAN/md5sums
@@ -133,7 +146,7 @@ function DebianPackageDev () {
133146
cp ../qt62.pas BUILD/usr/share/pascal/qt6/.
134147
chmod 0644 BUILD/usr/share/pascal/qt6/*
135148
cp copyright BUILD/usr/share/doc/"$PRODUCT-dev"/copyright
136-
gzip -knc --best changelog.libqt6pas >> BUILD/usr/share/doc/"$PRODUCT-dev"/changelog.gz
149+
gzip -knc --best changelog >> BUILD/usr/share/doc/"$PRODUCT-dev"/changelog.gz
137150

138151
# ------ Make the md5sum file -----------
139152
cd BUILD
@@ -166,7 +179,7 @@ function MakeRPM () {
166179
mkdir -p "$RDIR"/usr/share/doc/"$PRODUCT"-devel
167180
chmod 755 "$RDIR"/usr/share/doc/"$PRODUCT"-devel
168181
cp copyright "$RDIR"/usr/share/doc/"$PRODUCT"-devel/copyright
169-
gzip -knc --best changelog.libqt6pas >> "$RDIR"/usr/share/doc/"$PRODUCT"-devel/changelog.gz
182+
gzip -knc --best changelog >> "$RDIR"/usr/share/doc/"$PRODUCT"-devel/changelog.gz
170183

171184
cd "$RDIR"/usr/"$RDIR_ARCH"
172185
ln -s "$FULLLIBNAME" "$LIBNAME".so
@@ -182,7 +195,7 @@ function MakeRPM () {
182195
mkdir -p "$RDIR"/usr/share/doc/"$PRODUCT"
183196
chmod 755 "$RDIR"/usr/share/doc/"$PRODUCT"
184197
cp copyright "$RDIR/usr/share/doc/"$PRODUCT"/copyright"
185-
gzip -knc --best changelog.libqt6pas >> "$RDIR"/usr/share/doc/"$PRODUCT"/changelog.gz
198+
gzip -knc --best changelog >> "$RDIR"/usr/share/doc/"$PRODUCT"/changelog.gz
186199
cp ../"$FULLLIBNAME" "$RDIR"/usr/"$RDIR_ARCH"/.
187200
chmod 755 "$RDIR"/usr/"$RDIR_ARCH"/"$FULLLIBNAME"
188201
ln -s -r "$RDIR"/usr/"$RDIR_ARCH"/"$FULLLIBNAME" "$RDIR"/usr/"$RDIR_ARCH"/"$LIBNAME".so."$MAJORVER"."$MINORVER"
@@ -241,7 +254,11 @@ rm -Rf "$TARNAME"
241254
rm -Rf BUILD
242255
ls -ltr
243256

244-
# ------- RESTORE ME --------------- lintian -IiE *.deb
257+
echo " ======================== Debian Lintian =============================="
258+
lintian -IiE *.deb
259+
260+
echo "========================= RPM Lint Results ============================"
261+
rpmlint -i *.rpm
245262

246263
#echo " === OK, now make the rpms with fakeroot bash ./rpm-package.bash <enter> ==="
247264

cbindings/package/whatsnew

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
added startSystemMove() & startSystemResize() to the C bindings for better wayland integration
2+

cbindings/refresh.bash

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/bin/bash
2+
3+
# A script, run from the git dir pulled down from https://github.com/davidbannon/libqt6pas
4+
# expects to be run from the cbinding dir.
5+
# It gets the relevent files from gitlab, checks to see if we are out of date
6+
# and updates the local repo if we are.
7+
# After this, you will make the library and then package it. Finally, commit and upload binaries.
8+
9+
# David Bannon, September 6, 2023
10+
11+
12+
CURRENT=`pwd`
13+
TMP="/tmp"
14+
TMPFILE="lazarus-main-lcl-interfaces-qt6"
15+
TMPPATH="$TMPFILE"/"lcl/interfaces/qt6/cbindings"
16+
DIFFRES=""
17+
18+
cd $TMP
19+
rm -f "$TMPFILE".zip
20+
rm -Rf "$TMPFILE"
21+
22+
wget --output-document="$TMPFILE".zip https://gitlab.com/freepascal.org/lazarus/lazarus/-/archive/main/lazarus-main.zip?path=lcl/interfaces/qt6
23+
unzip -q "$TMPFILE".zip
24+
25+
echo "comparing "$TMP"/"$TMPPATH"/"Qt6Pas.pro" with "$CURRENT"/"Qt6Pas.pro""
26+
27+
DIFFRES=`diff "$TMP"/"$TMPPATH"/"Qt6Pas.pro" "$CURRENT"/"Qt6Pas.pro"`
28+
29+
echo "$DIFFRES"
30+
31+
if [ "$DIFFRES" == "" ]; then
32+
echo "No update needed, we will exit"
33+
exit
34+
fi
35+
36+
echo "--------------- update needed"
37+
38+
39+
rm -Rf "$CURRENT"/"src"
40+
41+
cp -r "$TMP"/"$TMPPATH"/* "$CURRENT"/.
42+
43+
cd "$CURRENT"
44+
git status
45+
46+
echo "you should now type qmake6 -query; qmake6"
47+
echo "then, make <enter> and wait a while"
48+
echo "After that, run the package-lib script in package dir"

cbindings/src/qwindow_c.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,3 +551,14 @@ void QWindow_requestUpdate(QWindowH handle)
551551
((QWindow *)handle)->requestUpdate();
552552
}
553553

554+
bool QWindow_startSystemMove(QWindowH handle)
555+
{
556+
return (bool) ((QWindow *)handle)->startSystemMove();
557+
}
558+
559+
bool QWindow_startSystemResize(QWindowH handle, Qt::Edges edges)
560+
{
561+
return (bool) ((QWindow *)handle)->startSystemResize((Qt::Edges)edges);
562+
}
563+
564+

cbindings/src/qwindow_c.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
99
//******************************************************************************
1010

11-
/* TODO startSystemMove(), startSystemResize(), setFlag(), parent(params), setWindowStates() , windowStates() */
11+
/* TODO setFlag(), parent(params), setWindowStates() , windowStates() */
1212

1313
#ifndef QWINDOW_C_H
1414
#define QWINDOW_C_H
@@ -121,5 +121,7 @@ C_EXPORT void QWindow_setMaximumWidth(QWindowH handle, int w);
121121
C_EXPORT void QWindow_setMaximumHeight(QWindowH handle, int h);
122122
C_EXPORT void QWindow_alert(QWindowH handle, int msec);
123123
C_EXPORT void QWindow_requestUpdate(QWindowH handle);
124+
C_EXPORT bool QWindow_startSystemMove(QWindowH handle);
125+
C_EXPORT bool QWindow_startSystemResize(QWindowH handle, Qt::Edges edges);
124126

125127
#endif

0 commit comments

Comments
 (0)