summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Freeman <rich0@gentoo.org>2018-10-27 18:44:56 -0400
committerRichard Freeman <rich0@gentoo.org>2018-10-27 18:45:10 -0400
commitefbe52e8fcf98fc032df92e96e8f7d4c7c2f8a5e (patch)
tree00e7889ae513c819f450a66b28823d0f5642abe8 /media-radio/cqrlog
parentsys-power/nut: Drop old (diff)
downloadgentoo-efbe52e8fcf98fc032df92e96e8f7d4c7c2f8a5e.tar.gz
gentoo-efbe52e8fcf98fc032df92e96e8f7d4c7c2f8a5e.tar.bz2
gentoo-efbe52e8fcf98fc032df92e96e8f7d4c7c2f8a5e.zip
media-radio/cqrlog: backport libmysqlclient version check fix
Closes: https://bugs.gentoo.org/669712 Signed-off-by: Richard Freeman <rich0@gentoo.org> Package-Manager: Portage-2.3.49, Repoman-2.3.11
Diffstat (limited to 'media-radio/cqrlog')
-rw-r--r--media-radio/cqrlog/cqrlog-2.3.0-r1.ebuild41
-rw-r--r--media-radio/cqrlog/files/2.3.0-database-connection-refactoring.patch197
2 files changed, 238 insertions, 0 deletions
diff --git a/media-radio/cqrlog/cqrlog-2.3.0-r1.ebuild b/media-radio/cqrlog/cqrlog-2.3.0-r1.ebuild
new file mode 100644
index 000000000000..43d58b5490bd
--- /dev/null
+++ b/media-radio/cqrlog/cqrlog-2.3.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils
+
+DESCRIPTION="CQRLOG is an advanced ham radio logger based on MySQL database."
+HOMEPAGE="https://www.cqrlog.com/"
+SRC_URI="https://github.com/ok2cqr/cqrlog/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=">=dev-lang/lazarus-1.8.0
+ >=dev-lang/fpc-3.0.2"
+
+RDEPEND="${DEPEND}
+ virtual/mysql[server]
+ dev-libs/atk
+ dev-libs/glib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+
+ x11-libs/libX11
+ x11-libs/pango"
+
+LazarusDir=/usr/share/lazarus/
+
+src_prepare() {
+ eapply_user
+ epatch "${FILESDIR}/${PV}-makefile.patch"
+ epatch "${FILESDIR}/${PV}-database-connection-refactoring.patch"
+}
+
+pkg_postist() {
+ elog "This package optionally supports media-libs/hablib"
+ elog "for monitoring radio settings."
+}
diff --git a/media-radio/cqrlog/files/2.3.0-database-connection-refactoring.patch b/media-radio/cqrlog/files/2.3.0-database-connection-refactoring.patch
new file mode 100644
index 000000000000..810bc5b5ba97
--- /dev/null
+++ b/media-radio/cqrlog/files/2.3.0-database-connection-refactoring.patch
@@ -0,0 +1,197 @@
+From b26102b097ef6353a20d18ccdaf7a3a6a30185c7 Mon Sep 17 00:00:00 2001
+From: ok2cqr <petr@petrhlozek.cz>
+Date: Sat, 15 Sep 2018 07:12:30 +0200
+Subject: [PATCH] database connection refactoring
+
+---
+ src/dData.pas | 126 +++++++-------------------------------------------
+ 1 file changed, 17 insertions(+), 109 deletions(-)
+
+diff --git a/src/dData.pas b/src/dData.pas
+index 9d72d27..bb56598 100644
+--- a/src/dData.pas
++++ b/src/dData.pas
+@@ -162,7 +162,6 @@ type
+ function FindLib(const Path,LibName : String) : String;
+ function GetMysqldPath : String;
+ function TableExists(TableName : String) : Boolean;
+- function GetMySQLLib : String;
+ function GetDebugLevel : Integer;
+
+ procedure CreateDBConnections;
+@@ -267,6 +266,7 @@ type
+ function RbnCallExistsInLog(callsign,band,mode,LastDate,LastTime : String) : Boolean;
+ function CallNoteExists(Callsign : String) : Boolean;
+ function GetNewLogNumber : Integer;
++ function getNewMySQLConnectionObject : TMySQL57Connection;
+
+ procedure SaveQSO(date : TDateTime; time_on,time_off,call : String; freq : Currency;mode,rst_s,
+ rst_r, stn_name,qth,qsl_s,qsl_r,qsl_via,iota,pwr : String; itu,waz : Integer;
+@@ -1092,49 +1092,6 @@ begin
+ Writeln(' ',DLLUtilName)
+ end;
+
+- lib := GetMySQLLib;
+- if fDebugLevel>=1 then Writeln('Loading libmysqlclient: ',lib);
+- if lib <> '' then
+- InitialiseMySQL(lib);
+-
+- try try
+- c := TConnectionName.Create(nil);
+- MySQLVer := copy(c.ClientInfo,1,3);
+-
+- if fDebugLevel>=1 then
+- begin
+- Writeln('**************************');
+- Writeln('MySQL version: ',MySQLVer);
+- Writeln('**************************')
+- end;
+-
+- if MySQLVer = '10.' then
+- MySQLVer := '5.6';
+- if MySQLVer = '10.1' then
+- MySQLVer := '5.7'
+-
+- except
+- on E : Exception do
+- begin
+- Writeln('FATAL ERROR: Can not get MySQL client library version version!',LineEnding,
+- 'Setting to default version (5.1)');
+- MySQLVer := '5.1'
+- end
+- end
+- finally
+- FreeAndNil(c)
+- end;
+-
+- if not TryStrToCurr(MySQLVer,fMySQLVersion) then
+- fMySQLVersion := 5.6;
+-
+- if fDebugLevel>=1 then
+- begin
+- Writeln('**********************************');
+- Writeln('MySQL version assigned: ',FloatToStr(fMySQLVersion));
+- Writeln('**********************************')
+- end;
+-
+ CreateDBConnections;
+
+ MainCon.KeepConnection := True;
+@@ -1148,13 +1105,11 @@ begin
+ end;
+
+ //special connection for band map thread
+- BandMapCon.KeepConnection := True;
+ BandMapCon.Transaction := trBandMapFil;
+ qBandMapFil.Transaction := trBandMapFil;
+ qBandMapFil.DataBase := BandMapCon;
+ trBandMapFil.DataBase := BandMapCon;
+
+- RbnMonCon.KeepConnection := True;
+ RbnMonCon.Transaction := trRbnMon;
+ qRbnMon.Transaction := trRbnMon;
+ qRbnMon.DataBase := RbnMonCon;
+@@ -1194,7 +1149,6 @@ begin
+ Writeln('ZIP code directory: ',fZipCodeDir);
+ Writeln('Binary dir: ',ExtractFilePath(Paramstr(0)));
+ Writeln('Share dir: ',fShareDir);
+- Writeln('TConnection to MySQL: ',FloatToStr(fMySQLVersion));
+ Writeln('*')
+ end;
+
+@@ -4166,70 +4120,13 @@ end;
+
+ procedure TdmData.CreateDBConnections;
+ begin
+- if fMySQLVersion < 5.5 then
+- begin
+- MainCon := TMySQL51Connection.Create(self);
+- BandMapCon := TMySQL51Connection.Create(self);
+- RbnMonCon := TMySQL51Connection.Create(self);
+- LogUploadCon := TMySQL51Connection.Create(self);
+- dbDXC := TMySQL51Connection.Create(self)
+- end
+- else if fMySQLVersion < 5.6 then
+- begin
+- MainCon := TMySQL55Connection.Create(self);
+- BandMapCon := TMySQL55Connection.Create(self);
+- RbnMonCon := TMySQL55Connection.Create(self);
+- LogUploadCon := TMySQL55Connection.Create(self);
+- dbDXC := TMySQL55Connection.Create(self)
+- end
+- else begin
+- if fMySQLVersion < 5.7 then
+- begin
+- MainCon := TMySQL56Connection.Create(self);
+- BandMapCon := TMySQL56Connection.Create(self);
+- RbnMonCon := TMySQL56Connection.Create(self);
+- LogUploadCon := TMySQL56Connection.Create(self);
+- dbDXC := TMySQL56Connection.Create(self)
+- end
+- else begin
+- MainCon := TMySQL57Connection.Create(self);
+- BandMapCon := TMySQL57Connection.Create(self);
+- RbnMonCon := TMySQL57Connection.Create(self);
+- LogUploadCon := TMySQL57Connection.Create(self);
+- dbDXC := TMySQL57Connection.Create(self)
+- end
+- end
++ MainCon := getNewMySQLConnectionObject();
++ BandMapCon := getNewMySQLConnectionObject();
++ RbnMonCon := getNewMySQLConnectionObject();
++ LogUploadCon := getNewMySQLConnectionObject();
++ dbDXC := getNewMySQLConnectionObject();
+ end;
+
+-function TdmData.GetMySQLLib : String;
+-var
+- lib : String;
+- Paths : TStringList;
+-begin
+- Result := '';
+- Paths := TStringList.Create;
+- try
+- Paths.Add('/usr/lib64/');
+- Paths.Add('/lib64/');
+- Paths.Add('/usr/lib/x86_64-linux-gnu/');
+- Paths.Add('/usr/lib64/mysql/');
+- Paths.Add('/lib/x86_64-linux-gnu/');
+-
+- Paths.Add('/usr/lib/i386-linux-gnu/');
+- Paths.Add('/lib/i386-linux-gnu/');
+- Paths.Add('/usr/lib/');
+- Paths.Add('/lib/');
+- Paths.Add('/usr/lib/mysql/');
+-
+- Result := MyFindFile('libmariadbclient.so*', Paths);
+- if (Result='') then
+- begin
+- Result := MyFindFile('libmysqlclient.so*', Paths)
+- end
+- finally
+- FreeAndNil(Paths)
+- end
+-end;
+
+ function TdmData.GetDebugLevel : Integer;
+ var
+@@ -4315,5 +4212,16 @@ begin
+ QSOColorDate := now
+ end;
+
++function TdmData.getNewMySQLConnectionObject : TMySQL57Connection;
++var
++ Connection : TMySQL57Connection;
++begin
++ Connection := TMySQL57Connection.Create(self);
++ Connection.SkipLibraryVersionCheck := True;
++ Connection.KeepConnection := True;
++
++ result := Connection
++end;
++
+ end.
+
+--
+2.18.1
+