Compare commits

..

No commits in common. "rawhide" and "f37" have entirely different histories.

8 changed files with 286 additions and 493 deletions

View file

@ -1 +1 @@
SHA512 (vfrnav-20230429.tar.bz2) = 2014383e46ad03b4afd9c8153888ad36e43ec2827219e4e037f052bb0fabbefcf0de3d340e5298f42058341c5f8480239e9b0a33cf606a2349c13292c3b97a4d
SHA512 (vfrnav-20201231.tar.bz2) = f80810696e8e0fe2e507aa4397912fbf7df690ed013de7ca038a8b0f519971a10d32003827b9d129a4387c1491e71d704e81febc158a1b839b5776b23df3dcd8

View file

@ -0,0 +1,15 @@
Index: vfrnav-20201231/doc/Makefile.am
===================================================================
--- vfrnav-20201231.orig/doc/Makefile.am
+++ vfrnav-20201231/doc/Makefile.am
@@ -78,8 +78,8 @@ SRCPDF = $(TEXSRC) $(FIGSRC:.fig=.pdf)
if HAVE_INKSCAPE1
%.pdf %.eps: %.svg
- $(INKSCAPE) --batch-process --export-area-drawing --export-type=eps -o $*.eps $<
- $(INKSCAPE) --batch-process --export-area-drawing --export-type=pdf -o $*.pdf $<
+ $(INKSCAPE) --export-area-drawing --export-type=eps -o $*.eps $<
+ $(INKSCAPE) --export-area-drawing --export-type=pdf -o $*.pdf $<
else
%.pdf %.eps: %.svg
$(INKSCAPE) --without-gui --export-area-drawing --file=$< --export-eps=$*.eps

View file

@ -1,127 +0,0 @@
--- vfrnav-20230429/src/metartaf.cc.orig 2025-01-07 13:51:24.837306522 +0100
+++ vfrnav-20230429/src/metartaf.cc 2025-01-07 13:53:02.445841777 +0100
@@ -497,7 +497,7 @@
"from metar where " + get_querycoord(bbox, tran) + ") T1 where T1.observation_time in "
"(select T2.observation_time from metar T2 where T2.station_id = T1.station_id "
"order by T2.observation_time desc limit " +
- tran.quote(metarhistory) + ")", "Metar Taf Set METAR"));
+ tran.quote(metarhistory) + ")", std::string_view{"Metar Taf Set METAR"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
std::pair<result_t::iterator,bool> ins(result.insert(Station(ri[0].as<std::string>(),
Point(ri[2].as<Point::coord_t>(), ri[1].as<Point::coord_t>()),
@@ -513,7 +513,7 @@
"from taf where " + get_querycoord(bbox, tran) + ") T1 where T1.issue_time in "
"(select T2.issue_time from taf T2 where T2.station_id = T1.station_id "
"order by T2.issue_time desc limit " +
- tran.quote(tafhistory) + ")", "Metar Taf Set TAF"));
+ tran.quote(tafhistory) + ")", std::string_view{"Metar Taf Set TAF"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
std::pair<result_t::iterator,bool> ins(result.insert(Station(ri[0].as<std::string>(),
Point(ri[2].as<Point::coord_t>(), ri[1].as<Point::coord_t>()),
@@ -556,7 +556,7 @@
q += "valid_from <= " + tran.quote(tmax) + " and valid_to >= " + tran.quote(tmin);
if (!false)
std::cerr << "pg: sigmet query " << q << std::endl;
- pqxx::result r(tran.exec(q, "Briefing Pack SIGMET"));
+ pqxx::result r(tran.exec(q, std::string_view{"Briefing Pack SIGMET"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
if (!false)
std::cerr << "pg: sigmet for " << ri[0].as<std::string>() << " seq " << ri[8].as<std::string>()
--- vfrnav-20230429/carto/osm.cc.orig 2025-01-07 13:55:20.693183894 +0100
+++ vfrnav-20230429/carto/osm.cc 2025-01-07 13:56:31.305848028 +0100
@@ -1783,7 +1783,7 @@
"ST_AsBinary(ST_Transform(way,4326)) from planet_osm_point where way && " + get_queryrect(tran));
if (false)
std::cerr << "OSM query: " << qstr << std::endl;
- pqxx::result r(tran.exec(qstr, "Briefing Pack OSM"));
+ pqxx::result r(tran.exec(qstr, std::string_view{"Briefing Pack OSM"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
Tags tags;
tags.add_pg(to_str(ri[69]));
@@ -1894,7 +1894,7 @@
"ST_AsBinary(ST_Transform(way,4326)) from planet_osm_line where way && " + get_queryrect(tran));
if (false)
std::cerr << "OSM query: " << qstr << std::endl;
- pqxx::result r(tran.exec(qstr, "Briefing Pack OSM"));
+ pqxx::result r(tran.exec(qstr, std::string_view{"Briefing Pack OSM"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
Tags tags;
tags.add_pg(to_str(ri[68]));
@@ -2005,7 +2005,7 @@
"ST_AsBinary(ST_Transform(way,4326)) from planet_osm_roads where way && " + get_queryrect(tran));
if (false)
std::cerr << "OSM query: " << qstr << std::endl;
- pqxx::result r(tran.exec(qstr, "Briefing Pack OSM"));
+ pqxx::result r(tran.exec(qstr, std::string_view{"Briefing Pack OSM"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
Tags tags;
tags.add_pg(to_str(ri[68]));
@@ -2116,7 +2116,7 @@
"ST_AsBinary(ST_Transform(way,4326)) from planet_osm_polygon where way && " + get_queryrect(tran));
if (false)
std::cerr << "OSM query: " << qstr << std::endl;
- pqxx::result r(tran.exec(qstr, "Briefing Pack OSM"));
+ pqxx::result r(tran.exec(qstr, std::string_view{"Briefing Pack OSM"}));
for (pqxx::result::const_iterator ri(r.begin()), re(r.end()); ri != re; ++ri) {
Tags tags;
tags.add_pg(to_str(ri[68]));
--- vfrnav-20230429/cfmu/adr.cc.orig 2026-01-30 12:46:50.497664549 +0100
+++ vfrnav-20230429/cfmu/adr.cc 2026-01-30 12:47:31.905992663 +0100
@@ -77,13 +77,13 @@
return u;
} catch (const std::runtime_error& e) {
}
- static const boost::uuids::uuid nsuuid = {
+ static const boost::uuids::uuid nsuuid = {{
0x5b, 0x20, 0xbd, 0x56,
0x73, 0x8d,
0x47, 0xcb,
0xb1, 0xea,
0x30, 0x0f, 0x31, 0x7e, 0x8b, 0x32
- };
+ }};
return from_str(nsuuid, x.substr(pfx));
}
@@ -95,13 +95,13 @@
UUID UUID::from_countryborder(const std::string& x)
{
- static const boost::uuids::uuid nsuuid = {
+ static const boost::uuids::uuid nsuuid = {{
0x00, 0xff, 0xf6, 0xf3,
0xff, 0xf5,
0x43, 0x74,
0x96, 0x3b,
0x0b, 0x8f, 0x11, 0x34, 0x22, 0xb9
- };
+ }};
return from_str(nsuuid, x);
}
--- vfrnav-20230429/cfmu/adrgraph.cc.orig 2026-01-30 12:46:57.341079989 +0100
+++ vfrnav-20230429/cfmu/adrgraph.cc 2026-01-30 12:47:44.106975328 +0100
@@ -154,10 +154,10 @@
const float GraphEdge::maxmetric = std::numeric_limits<float>::max();
const float GraphEdge::invalidmetric = std::numeric_limits<float>::quiet_NaN();
-const boost::uuids::uuid GraphEdge::matchalluuid = {
+const boost::uuids::uuid GraphEdge::matchalluuid = {{
0xb7, 0xc9, 0xbe, 0x9a, 0x2e, 0xcb, 0x49, 0x03,
0xb2, 0xd5, 0x58, 0xf9, 0xac, 0xbe, 0x36, 0x75
-};
+}};
const UUID GraphEdge::matchall(matchalluuid);
GraphEdge::GraphEdge(timetype_t tm, const Object::const_ptr_t& obj, unsigned int levels)
--- vfrnav-20230429/doc/flightdeck.tex.orig 2026-01-30 13:22:27.770429063 +0100
+++ vfrnav-20230429/doc/flightdeck.tex 2026-01-30 13:22:41.561489169 +0100
@@ -26,7 +26,7 @@
\else
\documentclass[a4paper,10pt,dvips]{article}
\fi
-\usepackage[german,english]{babel}
+\usepackage[english]{babel}
\selectlanguage{english}
\usepackage{graphicx}
\usepackage[isolatin]{inputenc}

60
vfrnav-gpsd10.patch Normal file
View file

@ -0,0 +1,60 @@
diff --git a/flightdeck/sensgpsd.cc b/flightdeck/sensgpsd.cc
index e430df8c..b6d3d6ef 100644
--- a/flightdeck/sensgpsd.cc
+++ b/flightdeck/sensgpsd.cc
@@ -114,16 +114,25 @@ bool Sensors::SensorGPSD::gps_poll(Glib::IOCondition iocond)
void Sensors::SensorGPSD::update_gps(void)
{
+#if GPSD_API_MAJOR_VERSION >= 10
+ if (true)
+ std::cerr << "GPS: set 0x" << std::hex << m_gpsdata.m_gpsdata.set << std::dec << " status " << m_gpsdata.m_gpsdata.fix.status
+ << " fixmode " << m_gpsdata.m_gpsdata.fix.mode << std::endl;
+#else
if (true)
std::cerr << "GPS: set 0x" << std::hex << m_gpsdata.m_gpsdata.set << std::dec << " status " << m_gpsdata.m_gpsdata.status
<< " fixmode " << m_gpsdata.m_gpsdata.fix.mode << std::endl;
+#endif
m_conntimeout.disconnect();
m_conntimeout = Glib::signal_timeout().connect(sigc::mem_fun(*this, &SensorGPSD::gps_timeout), 5000);
ParamChanged pc;
if (m_gpsdata.m_gpsdata.set & MODE_SET) {
fixtype_t oldfixtype(m_fixtype);
- if ((m_gpsdata.m_gpsdata.set & STATUS_SET) &&
- m_gpsdata.m_gpsdata.status == STATUS_NO_FIX) {
+#if GPSD_API_MAJOR_VERSION >= 10
+ if ((m_gpsdata.m_gpsdata.set & STATUS_SET) && m_gpsdata.m_gpsdata.fix.status == STATUS_NO_FIX) {
+#else
+ if ((m_gpsdata.m_gpsdata.set & STATUS_SET) && m_gpsdata.m_gpsdata.status == STATUS_NO_FIX) {
+#endif
m_fixtype = fixtype_nofix;
} else {
switch (m_gpsdata.m_gpsdata.fix.mode) {
diff --git a/src/Navigate.cc b/src/Navigate.cc
index bd1cead6..3c7e321e 100644
--- a/src/Navigate.cc
+++ b/src/Navigate.cc
@@ -1063,7 +1063,11 @@ bool Navigate::GPSCommGPSD::gps_poll(Glib::IOCondition iocond)
#else
::gps_poll(m_gpsdata);
#endif
+#if GPSD_API_MAJOR_VERSION >= 10
+ std::cerr << "status " << m_gpsdata.fix.status << " fixtype " << m_gpsdata.fix.mode << std::endl;
+#else
std::cerr << "status " << m_gpsdata.status << " fixtype " << m_gpsdata.fix.mode << std::endl;
+#endif
return true;
}
@@ -1096,7 +1096,11 @@ Navigate::GPSCommGPSD::fixtype_t Navigate::GPSCommGPSD::get_fixtype(void) const
Navigate::GPSCommGPSD::fixstatus_t Navigate::GPSCommGPSD::get_fixstatus(void) const
{
+#if GPSD_API_MAJOR_VERSION >= 10
+ switch (m_gpsdata.fix.status) {
+#else
switch (m_gpsdata.status) {
+#endif
default:
case STATUS_NO_FIX:
return fixstatus_nofix;

View file

@ -1,202 +0,0 @@
From 8b4a8056b9e2e7abcecef80dd29f58d5ff4d5f87 Mon Sep 17 00:00:00 2001
From: Thomas Sailer <sailer@tsailer.ch>
Date: Tue, 7 Jan 2025 12:21:15 +0100
Subject: remove octave numeric colors as they are no longer supported in
octave 9
diff --git a/doc/hamproptbl.m b/doc/hamproptbl.m
index 9fbb5e52..4a930668 100644
--- a/doc/hamproptbl.m
+++ b/doc/hamproptbl.m
@@ -49,14 +49,14 @@ endfor;
fprintf(ftbl, "\n};\n");
f=figure("visible","on");
-plot(afval,afcpc(1,:),"1+;CP 1;",...
- afval,afcpc(2,:),"2+;CP 2;",...
- afval,afctc(1,:),"3+;CT 1;",...
- afval,afctc(2,:),"4+;CT 2;",...
- min(afval):max(afval),polyval(afcpp(1,:),min(afval):max(afval)),"1-;CP J=0;",...
- min(afval):max(afval),polyval(afcpp(2,:),min(afval):max(afval)),"2-;CP J>=0.5;",...
- min(afval):max(afval),polyval(afctp(1,:),min(afval):max(afval)),"3-;CT J=0;",...
- min(afval):max(afval),polyval(afctp(2,:),min(afval):max(afval)),"4-;CT J>=0.5;");
+plot(afval,afcpc(1,:),"r+;CP 1;",...
+ afval,afcpc(2,:),"g+;CP 2;",...
+ afval,afctc(1,:),"b+;CT 1;",...
+ afval,afctc(2,:),"m+;CT 2;",...
+ min(afval):max(afval),polyval(afcpp(1,:),min(afval):max(afval)),"r-;CP J=0;",...
+ min(afval):max(afval),polyval(afcpp(2,:),min(afval):max(afval)),"g-;CP J>=0.5;",...
+ min(afval):max(afval),polyval(afctp(1,:),min(afval):max(afval)),"b-;CT J=0;",...
+ min(afval):max(afval),polyval(afctp(2,:),min(afval):max(afval)),"m-;CT J>=0.5;");
grid on;
xlabel("AF -- Activity Factor");
ylabel("CP/CT Factor");
@@ -64,10 +64,10 @@ title("CP/CT versus AF");
print(f, "propafcpct.eps","-depsc2","-portrait","-color");
f=figure("visible","on");
-plot(afval,afcpc(1,:)-polyval(afcpp(1,:),afval),"1+-;CP J=0 error;",...
- afval,afcpc(2,:)-polyval(afcpp(2,:),afval),"2+-;CP J>=0.5 error;",...
- afval,afctc(1,:)-polyval(afctp(1,:),afval),"3+-;CT J=0 error;",...
- afval,afctc(2,:)-polyval(afctp(2,:),afval),"4+-;CT J>=0.5 error;");
+plot(afval,afcpc(1,:)-polyval(afcpp(1,:),afval),"r+-;CP J=0 error;",...
+ afval,afcpc(2,:)-polyval(afcpp(2,:),afval),"g+-;CP J>=0.5 error;",...
+ afval,afctc(1,:)-polyval(afctp(1,:),afval),"b+-;CT J=0 error;",...
+ afval,afctc(2,:)-polyval(afctp(2,:),afval),"m+-;CT J>=0.5 error;");
grid on;
xlabel("AF -- Activity Factor");
ylabel("CP/CT Factor Approximation Error");
@@ -150,14 +150,14 @@ endfor;
fprintf(ftbl, "\n};\n\n");
f=figure("visible","on");
-plot(zjstal,cpstal(1,:),"1+;CPstall 2 Blade;",...
- zjstal,cpstal(2,:),"2+;CPstall 4 Blade;",...
- zjstal,cpstal(3,:),"3+;CPstall 6 Blade;",...
- zjstal,cpstal(4,:),"4+;CPstall 8 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(cpstalp(1,:),min(zjstal):0.1:max(zjstal)),"1-;CPstall 2 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(cpstalp(2,:),min(zjstal):0.1:max(zjstal)),"2-;CPstall 4 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(cpstalp(3,:),min(zjstal):0.1:max(zjstal)),"3-;CPstall 6 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(cpstalp(4,:),min(zjstal):0.1:max(zjstal)),"4-;CPstall 8 Blade;");
+plot(zjstal,cpstal(1,:),"r+;CPstall 2 Blade;",...
+ zjstal,cpstal(2,:),"g+;CPstall 4 Blade;",...
+ zjstal,cpstal(3,:),"b+;CPstall 6 Blade;",...
+ zjstal,cpstal(4,:),"m+;CPstall 8 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(cpstalp(1,:),min(zjstal):0.1:max(zjstal)),"r-;CPstall 2 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(cpstalp(2,:),min(zjstal):0.1:max(zjstal)),"g-;CPstall 4 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(cpstalp(3,:),min(zjstal):0.1:max(zjstal)),"b-;CPstall 6 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(cpstalp(4,:),min(zjstal):0.1:max(zjstal)),"m-;CPstall 8 Blade;");
grid on;
xlabel("ZJ");
ylabel("CP Stall");
@@ -165,10 +165,10 @@ title("CP Stall versus ZJ");
print(f,"propcpstal.eps","-depsc2","-portrait","-color");
f=figure("visible","on");
-plot(zjstal,cpstal(1,:)-polyval(cpstalp(1,:),zjstal),"1+-;CPstall 2 Blade error;",...
- zjstal,cpstal(2,:)-polyval(cpstalp(2,:),zjstal),"2+-;CPstall 4 Blade error;",...
- zjstal,cpstal(3,:)-polyval(cpstalp(3,:),zjstal),"3+-;CPstall 6 Blade error;",...
- zjstal,cpstal(4,:)-polyval(cpstalp(4,:),zjstal),"4+-;CPstall 8 Blade error;");
+plot(zjstal,cpstal(1,:)-polyval(cpstalp(1,:),zjstal),"r+-;CPstall 2 Blade error;",...
+ zjstal,cpstal(2,:)-polyval(cpstalp(2,:),zjstal),"g+-;CPstall 4 Blade error;",...
+ zjstal,cpstal(3,:)-polyval(cpstalp(3,:),zjstal),"b+-;CPstall 6 Blade error;",...
+ zjstal,cpstal(4,:)-polyval(cpstalp(4,:),zjstal),"m+-;CPstall 8 Blade error;");
grid on;
xlabel("ZJ");
ylabel("CP Stall Approximation Error");
@@ -176,14 +176,14 @@ title("CP Stall versus ZJ Approximation Error");
print(f,"propcpstalerr.eps","-depsc2","-portrait","-color");
f=figure("visible","on");
-plot(zjstal,ctstal(1,:),"1+;CTstall 2 Blade;",...
- zjstal,ctstal(2,:),"2+;CTstall 4 Blade;",...
- zjstal,ctstal(3,:),"3+;CTstall 6 Blade;",...
- zjstal,ctstal(4,:),"4+;CTstall 8 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(ctstalp(1,:),min(zjstal):0.1:max(zjstal)),"1-;CTstall 2 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(ctstalp(2,:),min(zjstal):0.1:max(zjstal)),"2-;CTstall 4 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(ctstalp(3,:),min(zjstal):0.1:max(zjstal)),"3-;CTstall 6 Blade;",...
- min(zjstal):0.1:max(zjstal),polyval(ctstalp(4,:),min(zjstal):0.1:max(zjstal)),"4-;CTstall 8 Blade;");
+plot(zjstal,ctstal(1,:),"r+;CTstall 2 Blade;",...
+ zjstal,ctstal(2,:),"g+;CTstall 4 Blade;",...
+ zjstal,ctstal(3,:),"b+;CTstall 6 Blade;",...
+ zjstal,ctstal(4,:),"m+;CTstall 8 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(ctstalp(1,:),min(zjstal):0.1:max(zjstal)),"r-;CTstall 2 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(ctstalp(2,:),min(zjstal):0.1:max(zjstal)),"g-;CTstall 4 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(ctstalp(3,:),min(zjstal):0.1:max(zjstal)),"b-;CTstall 6 Blade;",...
+ min(zjstal):0.1:max(zjstal),polyval(ctstalp(4,:),min(zjstal):0.1:max(zjstal)),"m-;CTstall 8 Blade;");
grid on;
xlabel("ZJ");
ylabel("CT Stall");
@@ -191,10 +191,10 @@ title("CT Stall versus ZJ");
print(f,"propctstal.eps","-depsc2","-portrait","-color");
f=figure("visible","on");
-plot(zjstal,ctstal(1,:)-polyval(ctstalp(1,:),zjstal),"1+-;CTstall 2 Blade error;",...
- zjstal,ctstal(2,:)-polyval(ctstalp(2,:),zjstal),"2+-;CTstall 4 Blade error;",...
- zjstal,ctstal(3,:)-polyval(ctstalp(3,:),zjstal),"3+-;CTstall 6 Blade error;",...
- zjstal,ctstal(4,:)-polyval(ctstalp(4,:),zjstal),"4+-;CTstall 8 Blade error;");
+plot(zjstal,ctstal(1,:)-polyval(ctstalp(1,:),zjstal),"r+-;CTstall 2 Blade error;",...
+ zjstal,ctstal(2,:)-polyval(ctstalp(2,:),zjstal),"g+-;CTstall 4 Blade error;",...
+ zjstal,ctstal(3,:)-polyval(ctstalp(3,:),zjstal),"b+-;CTstall 6 Blade error;",...
+ zjstal,ctstal(4,:)-polyval(ctstalp(4,:),zjstal),"m+-;CTstall 8 Blade error;");
grid on;
xlabel("ZJ");
ylabel("CT Stall Approximation Error");
diff --git a/doc/p28rperf.m b/doc/p28rperf.m
index c4b1e7f2..147da3e6 100644
--- a/doc/p28rperf.m
+++ b/doc/p28rperf.m
@@ -113,12 +113,12 @@ io360altperf=[0 200 176 0 ;
alt=0:100:18000;
[p t rho]=icaoatmo(alt);
clf;
-plot(io360altperf(io360altperf(:,2)>0,2),io360altperf(io360altperf(:,2)>0,1),"+1;RPM=2700;",...
- io360altperf(io360altperf(:,3)>0,3),io360altperf(io360altperf(:,3)>0,1),"+2;RPM=2400;",...
- io360altperf(io360altperf(:,4)>0,4),io360altperf(io360altperf(:,4)>0,1),"+3;RPM=2100;",...
- P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C),alt,"-1;RPM=2700;",...
- P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2400/2700)^1.13,alt,"-2;RPM=2400;",...
- P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2100/2700)^1.13,alt,"-3;RPM=2100;");
+plot(io360altperf(io360altperf(:,2)>0,2),io360altperf(io360altperf(:,2)>0,1),"+r;RPM=2700;",...
+ io360altperf(io360altperf(:,3)>0,3),io360altperf(io360altperf(:,3)>0,1),"+g;RPM=2400;",...
+ io360altperf(io360altperf(:,4)>0,4),io360altperf(io360altperf(:,4)>0,1),"+b;RPM=2100;",...
+ P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C),alt,"-r;RPM=2700;",...
+ P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2400/2700)^1.13,alt,"-g;RPM=2400;",...
+ P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2100/2700)^1.13,alt,"-b;RPM=2100;");
title("IO-360-C Engine Full Throttle SHP versus Altitude");
xlabel("Shaft Horse Power");
ylabel("Altitude [ft]");
@@ -137,12 +137,12 @@ for tt=1:3;
x=x/sum(x);
RPMC(tt)=(x(1)-1)/x(1);
endfor;
-plot(rho1(io360altperf(:,2)>0)/rho1(1),io360altperf(io360altperf(:,2)>0,2),"+1;RPM=2700;",...
- rho1(io360altperf(:,3)>0)/rho1(1),io360altperf(io360altperf(:,3)>0,3),"+2;RPM=2400;",...
- rho1(io360altperf(:,4)>0)/rho1(1),io360altperf(io360altperf(:,4)>0,4),"+3;RPM=2100;",...
- rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C),"-1;RPM=2700;",...
- rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2400/2700)^1.13,"-2;RPM=2400;",...
- rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2100/2700)^1.13,"-3;RPM=2100;");
+plot(rho1(io360altperf(:,2)>0)/rho1(1),io360altperf(io360altperf(:,2)>0,2),"+r;RPM=2700;",...
+ rho1(io360altperf(:,3)>0)/rho1(1),io360altperf(io360altperf(:,3)>0,3),"+g;RPM=2400;",...
+ rho1(io360altperf(:,4)>0)/rho1(1),io360altperf(io360altperf(:,4)>0,4),"+b;RPM=2100;",...
+ rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C),"-r;RPM=2700;",...
+ rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2400/2700)^1.13,"-g;RPM=2400;",...
+ rho/rho(1),P0/hp_to_ftlbfps*(rho/rho(1)-C)/(1-C)*(2100/2700)^1.13,"-b;RPM=2100;");
title("IO-360-C Engine Full Throttle SHP versus Altitude");
xlabel("Relative Density [relative]");
ylabel("Shaft Horse Power");
@@ -512,6 +512,7 @@ for plimidx=1:2;
ROD=zeros(length(vc),size(alt,2));
rpm=zeros(length(vc),size(alt,2));
dist=zeros(length(vc),size(alt,2));
+ col=jet(length(vc));
clf;
for vci=1:length(vc);
D=0.5*CD0*vc(vci)^2*mph_to_ftps^2*rho0*S+W^2./(0.5*vc(vci)^2*mph_to_ftps^2*rho0*S*pi*A*ee);
@@ -521,7 +522,7 @@ for plimidx=1:2;
ROD(vci,:)=vc(vci)*mph_to_kts*nmi_to_ft/60*sqrt(rho(1)./rho)/W.*(D-T);
#dist(vci,2:length(alt))=cumsum((alt(2:length(alt))-alt(1:length(alt)-1))./ROD(vci,1:length(alt)-1)/60*vc(vci).*sqrt(rho(1)./rho(1:length(alt)-1)));
dist(vci,2:length(alt))=cumsum((alt(2:length(alt))-alt(1:length(alt)-1))*W./(D-T)(1:length(alt)-1))/(mph_to_kts*nmi_to_ft);
- plot(ROD(vci,:),alt,sprintf("%u;VCAS=%5.1fMPH;",vci*2-1,vc(vci)));
+ plot(ROD(vci,:),alt,sprintf(";VCAS=%5.1fMPH;",vc(vci)),"color",col(vci,:));
hold on;
endfor;
hold off;
@@ -535,7 +536,7 @@ for plimidx=1:2;
clf;
for vci=1:length(vc);
- plot(dist(vci,:),alt,sprintf("%u;VCAS=%5.1fMPH;",vci*2-1,vc(vci)));
+ plot(dist(vci,:),alt,sprintf(";VCAS=%5.1fMPH;",vc(vci)),"color",col(vci,:));
hold on;
endfor;
hold off;
@@ -549,7 +550,7 @@ for plimidx=1:2;
clf;
for vci=1:length(vc);
- plot(rpm(vci,:),alt,sprintf("%u;VCAS=%5.1fMPH;",vci*2-1,vc(vci)));
+ plot(rpm(vci,:),alt,sprintf(";VCAS=%5.1fMPH;",vc(vci)),"color",col(vci,:));
hold on;
endfor;
hold off;

179
vfrnav-pqxx.patch Normal file
View file

@ -0,0 +1,179 @@
diff --git a/src/Makefile.am b/src/Makefile.am
index dd30d58c..4fbaea31 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -81,8 +81,10 @@ genfascrc_SOURCES = genfascrc.cc
genfascrc_LDADD = @PQXX_LIBS@
genmodescrc_SOURCES = genmodescrc.cc
+genmodescrc_LDADD = @PQXX_LIBS@
gengrib2paramtbl_SOURCES = gengrib2paramtbl.cc
+gengrib2paramtbl_LDADD = @PQXX_LIBS@
genwmostn_SOURCES = genwmostn.cc
genwmostn_LDADD = libvfrnav.la @CURL_LIBS@ @JSONCPP_LIBS@
diff --git a/utils/basulmimport.cc b/utils/basulmimport.cc
index ccee3fa0..27279d0c 100644
--- a/utils/basulmimport.cc
+++ b/utils/basulmimport.cc
@@ -4,7 +4,7 @@
// Description: Import basulm gps files
//
//
-// Author: Thomas Sailer <t.sailer@alumni.ethz.ch>, (C) 2007, 2009, 2012, 2013, 2018
+// Author: Thomas Sailer <t.sailer@alumni.ethz.ch>, (C) 2007, 2009, 2012, 2013, 2018, 2021
//
// Copyright: See COPYING file that comes with this distribution
//
@@ -46,7 +46,7 @@ public:
ulm = 2
};
- DbXmlImporter(const Glib::ustring& output_dir, bool pgsql, filter_t filter);
+ DbXmlImporter(const std::string& output_dir, bool pgsql, filter_t filter);
virtual ~DbXmlImporter();
protected:
@@ -85,7 +85,7 @@ private:
} state_t;
state_t m_state;
- Glib::ustring m_outputdir;
+ std::string m_outputdir;
bool m_purgedb;
filter_t m_filter;
#ifdef HAVE_PQXX
@@ -110,7 +110,7 @@ inline DbXmlImporter::filter_t& operator&=(DbXmlImporter::filter_t& x, DbXmlImpo
inline DbXmlImporter::filter_t& operator^=(DbXmlImporter::filter_t& x, DbXmlImporter::filter_t y) { x = x ^ y; return x; }
inline bool operator!(DbXmlImporter::filter_t x) { return !(unsigned int)x; }
-DbXmlImporter::DbXmlImporter(const Glib::ustring & output_dir, bool pgsql, filter_t filter)
+DbXmlImporter::DbXmlImporter(const std::string& output_dir, bool pgsql, filter_t filter)
: xmlpp::SaxParser(false), m_state(state_document_c), m_outputdir(output_dir), m_purgedb(false),
m_filter(filter), m_starttime(0), m_rec_point(Point::invalid)
{
diff --git a/utils/gshhs.cc b/utils/gshhs.cc
index 57a97fb1..f2fe875c 100644
--- a/utils/gshhs.cc
+++ b/utils/gshhs.cc
@@ -948,7 +948,7 @@ int main(int argc, char *argv[])
};
int c, err(0);
bool quiet(false), purge(false), info(false), domerge(false), doextend(false), pgsql(false);
- Glib::ustring output_dir("."), export_file("");
+ std::string output_dir("."), export_file("");
std::list<Glib::ustring> gshhs_dir;
// check gshhs database with: ogrinfo GSHHS_shp/h/GSHHS_h_L1.shp GSHHS_h_L1
Rect bbox(Point(Point::lon_min, Point::lat_min), Point(Point::lon_max, Point::lat_max));
@@ -957,7 +957,7 @@ int main(int argc, char *argv[])
while (((c = getopt_long(argc, argv, "hvqo:k:m:p:PiME", long_options, NULL)) != -1)) {
switch (c) {
case 'v':
- std::cout << argv[0] << ": (C) 2007, 2015 Thomas Sailer" << std::endl;
+ std::cout << argv[0] << ": (C) 2007, 2015, 2021 Thomas Sailer" << std::endl;
return 0;
case 'o':
diff --git a/utils/vfrnavfixdb.cc b/utils/vfrnavfixdb.cc
index 344f514e..505e4531 100644
--- a/utils/vfrnavfixdb.cc
+++ b/utils/vfrnavfixdb.cc
@@ -4,7 +4,7 @@
// Description: Database fix routines
//
//
-// Author: Thomas Sailer <t.sailer@alumni.ethz.ch>, (C) 2007, 2009, 2012, 2013, 2015, 2016
+// Author: Thomas Sailer <t.sailer@alumni.ethz.ch>, (C) 2007, 2009, 2012, 2013, 2015, 2016, 2021
//
// Copyright: See COPYING file that comes with this distribution
//
@@ -29,7 +29,7 @@
class DbFix {
public:
- DbFix(const Glib::ustring& output_dir, bool pgsql = false, bool trace = false, bool nomodify = false);
+ DbFix(const std::string& output_dir, bool pgsql = false, bool trace = false, bool nomodify = false);
virtual ~DbFix();
void tile(void);
@@ -45,7 +45,7 @@ protected:
void close_db(void);
private:
- Glib::ustring m_outputdir;
+ std::string m_outputdir;
bool m_trace;
#ifdef HAVE_PQXX
typedef std::unique_ptr<pqxx::connection> pgconn_t;
@@ -67,7 +67,7 @@ private:
TracksDb::Track m_trk;
};
-DbFix::DbFix(const Glib::ustring & output_dir, bool pgsql, bool trace, bool nomodify)
+DbFix::DbFix(const std::string& output_dir, bool pgsql, bool trace, bool nomodify)
: m_outputdir(output_dir), m_trace(trace), m_nomodify(nomodify)
{
#ifdef HAVE_PQXX
diff --git a/utils/vfrnavxml2db.cc b/utils/vfrnavxml2db.cc
index 25581b32..4e8fcfc4 100644
--- a/utils/vfrnavxml2db.cc
+++ b/utils/vfrnavxml2db.cc
@@ -4,7 +4,7 @@
// Description: Database XML representation to sqlite db conversion
//
//
-// Author: Thomas Sailer <t.sailer@alumni.ethz.ch>, (C) 2007, 2009, 2012, 2013, 2015, 2016
+// Author: Thomas Sailer <t.sailer@alumni.ethz.ch>, (C) 2007, 2009, 2012, 2013, 2015, 2016, 2021
//
// Copyright: See COPYING file that comes with this distribution
//
@@ -32,7 +32,7 @@
class DbXmlImporter : public xmlpp::SaxParser {
public:
- DbXmlImporter(const Glib::ustring& output_dir, bool pgsql = false, bool trace = false);
+ DbXmlImporter(const std::string& output_dir, bool pgsql = false, bool trace = false);
virtual ~DbXmlImporter();
protected:
@@ -144,7 +144,7 @@ private:
state_t m_state;
bool m_trace;
- Glib::ustring m_outputdir;
+ std::string m_outputdir;
bool m_purgedb;
#ifdef HAVE_PQXX
typedef std::unique_ptr<pqxx::connection> pgconn_t;
@@ -239,7 +239,7 @@ bool DbXmlImporter::AirspaceDeps::AirspaceDeps::operator<(const AirspaceDeps& x)
return get_bdryclass() < x.get_bdryclass();
}
-DbXmlImporter::DbXmlImporter(const Glib::ustring & output_dir, bool pgsql, bool trace)
+DbXmlImporter::DbXmlImporter(const std::string& output_dir, bool pgsql, bool trace)
: xmlpp::SaxParser(false), m_state(state_document_c), m_trace(trace), m_outputdir(output_dir),
m_purgedb(false), m_fplan(0), m_fplanroute(0)
{
diff --git a/utils/vmap.cc b/utils/vmap.cc
index 0ea6d06e..ecf7e225 100644
--- a/utils/vmap.cc
+++ b/utils/vmap.cc
@@ -746,7 +746,7 @@ int main(int argc, char *argv[])
};
int c, err(0);
bool quiet(false), purge(false), info(false), pgsql(false);
- Glib::ustring output_dir(".");
+ std::string output_dir(".");
std::list<Glib::ustring> vmap_dir;
// check vmap database with: ogrinfo gltp:/vrf/tmp/v0eur/vmaplv0/eurnasia 'tundraa@veg(*)_area'
Rect bbox(Point(Point::lon_min, Point::lat_min), Point(Point::lon_max, Point::lat_max));
@@ -754,7 +754,7 @@ int main(int argc, char *argv[])
while (((c = getopt_long(argc, argv, "hvqo:k:m:p:Pi", long_options, NULL)) != -1)) {
switch (c) {
case 'v':
- std::cout << argv[0] << ": (C) 2007 Thomas Sailer" << std::endl;
+ std::cout << argv[0] << ": (C) 2007, 2021 Thomas Sailer" << std::endl;
return 0;
case 'o':

View file

@ -1,16 +1,17 @@
Name: vfrnav
Version: 20230429
Release: 37%{?dist}
Version: 20201231
Release: 30%{?dist}
Summary: VFR/IFR Navigation
License: GPL-2.0-or-later
License: GPLv2+
URL: https://gitlab.com/tsailer/vfrnav/
Source: https://gitlab.com/tsailer/vfrnav/-/archive/%{version}/%{name}-%{version}.tar.bz2
Patch: vfrnav-octave-colors.patch
Patch: vfrnav-compile.patch
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
Source0: https://gitlab.com/tsailer/vfrnav/-/archive/%{version}/%{name}-%{version}.tar.bz2
Patch0: vfrnav-gpsd10.patch
Patch1: vfrnav-pqxx.patch
# Enclose gnome-bluetooth.h include in extern "C", otherwise undefined references occur
Patch2: vfrnav_externc.patch
# Fix invocation of inksacape v1.x.
Patch3: vfrnav-20201231-fix_inkscape_usage.patch
%bcond_without webservice
%bcond_with wetterdl
@ -34,9 +35,7 @@ BuildRequires: cairomm-devel
BuildRequires: cairo-devel
BuildRequires: zfstream-devel
BuildRequires: gettext
%ifarch %java_arches
BuildRequires: antlr-C++
%endif
%ifnarch s390 s390x
BuildRequires: pilot-link-devel
%endif
@ -52,11 +51,11 @@ BuildRequires: libXScrnSaver-devel
BuildRequires: evince-devel
BuildRequires: libusb1-devel
BuildRequires: libcurl-devel
BuildRequires: webkit2gtk4.1-devel
BuildRequires: webkitgtk4-devel
BuildRequires: openjpeg2-devel
BuildRequires: libsoup-devel
BuildRequires: librsvg2-devel
BuildRequires: podofo0.9-devel
BuildRequires: podofo-devel
BuildRequires: systemd-devel
BuildRequires: transfig
BuildRequires: texlive
@ -105,7 +104,7 @@ Requires: texlive-xstring
Requires: texlive-hyphenat
Requires: tex(t2aenc.def)
Requires: texlive-lh
Requires: texlive-xetex
Requires: texlive-xetex-def
Requires: texlive-framed
Requires: texlive-polyglossia
Requires: texlive-multirow
@ -241,11 +240,6 @@ This package contains a webservice for the CFMU Autorouter.
%autosetup -p1
autoreconf -fiv
# Create a sysusers.d config file
cat >vfrnav.sysusers.conf <<EOF
u vfrnav - 'Special user account to be used by vfrnav cfmuautoroute/cfmuvalidate services' /var/lib/vfrnav -
EOF
%build
CXXFLAGS=`echo %optflags | sed -e 's/-O2//'`
export CXXFLAGS
@ -323,8 +317,11 @@ rm -f $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/32x32/apps/wetterdl.png
rm -f $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/wetterdl.png
%endif
install -m0644 -D vfrnav.sysusers.conf %{buildroot}%{_sysusersdir}/vfrnav.conf
%pre validatorservice
getent group vfrnav &>/dev/null || groupadd -r vfrnav
getent passwd vfrnav &>/dev/null || \
useradd -g vfrnav -d /var/lib/vfrnav -M -r -s /sbin/nologin \
-c "Special user account to be used by vfrnav cfmuautoroute/cfmuvalidate services" vfrnav
%post selinux
/usr/sbin/semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp >/dev/null 2>&1 || :
@ -465,7 +462,6 @@ fi
%dir %attr(0755,vfrnav,vfrnav) /run/vfrnav
%dir %attr(0750,vfrnav,vfrnav) /run/vfrnav/validator
%dir %attr(0750,vfrnav,vfrnav) /var/lib/vfrnav
%{_sysusersdir}/vfrnav.conf
%files selinux
%{_datadir}/selinux/packages/%{name}/vfrnav.pp
@ -481,147 +477,6 @@ fi
%endif
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jun 19 2026 Sandro Mani <manisandro@gmail.com> - 20230429-36
- Rebuild (gdal)
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 20230429-35
- Rebuilt for openssl 4.0
* Sun Mar 22 2026 Björn Esser <besser82@fedoraproject.org> - 20230429-34
- Rebuild (jsoncpp)
* Fri Feb 27 2026 Orion Poplawski <orion@nwra.com> - 20230429-33
- Rebuild for octave 11.1
* Wed Feb 18 2026 Thomas Sailer <fedora@tsailer.ch> - 20230429-32
- fix requires
* Sun Jan 25 2026 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 20230429-31
- Drop support for i686
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jan 14 2026 Jitka Plesnikova <jplesnik@redhat.com> - 20230429-29
- Rebuild for new gpsd
* Sun Nov 23 2025 Sandro Mani <manisandro@gmail.com> - 20230429-28
- Rebuild (gdal)
* Tue Oct 28 2025 Sandro Mani <manisandro@gmail.com> - 20230429-27
- Rebuild (geos)
* Wed Sep 03 2025 Sandro Mani <manisandro@gmail.com> - 20230429-26
- Rebuild (geos)
* Thu Aug 07 2025 Orion Poplawski <orion@nwra.com> - 20230429-25
- Rebuild for Octave 10.2
* Tue Jul 29 2025 Sandro Mani <manisandro@gmail.com> - 20230429-24
- Rebuild (gdal)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue May 27 2025 Remi Collet <remi@fedoraproject.org> - 20230429-22
- rebuild for new gpsd
* Wed Mar 05 2025 Sandro Mani <manisandro@gmail.com> - 20230429-21
- Rebuild (geos)
* Thu Feb 27 2025 Björn Esser <besser82@fedoraproject.org> - 20230429-20
- Rebuild (jsoncpp)
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 20230429-19
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Sun Feb 02 2025 Orion Poplawski <orion@nwra.com> - 20230429-18
- Rebuild with gsl 2.8
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Jan 07 2025 Thomas Sailer <fedora@tsailer.ch> - 20230429-16
- fixes for octave 9
* Mon Dec 23 2024 Björn Esser <besser82@fedoraproject.org> - 20230429-15
- Rebuild (libpqxx)
* Thu Nov 14 2024 Orion Poplawski <orion@nwra.com> - 20230429-14
- Rebuild for octave 9.2
* Fri Nov 08 2024 Sandro Mani <manisandro@gmail.com> - 20230429-13
- Rebuild (gdal)
* Fri Oct 25 2024 Orion Poplawski <orion@nwra.com> - 20230429-12
- Rebuild for yaml-cpp 0.8
* Tue Sep 10 2024 Sandro Mani <manisandro@gmail.com> - 20230429-11
- Rebuild (geos)
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jun 06 2024 Sandro Mani <manisandro@gmail.com> - 20230429-9
- Rebuild (geos)
* Mon May 13 2024 Sandro Mani <manisandro@gmail.com> - 20230429-8
- Rebuild (gdal)
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Nov 15 2023 Sandro Mani <manisandro@gmail.com> - 20230429-6
- Rebuild (gdal)
* Sun Nov 12 2023 Sandro Mani <manisandro@gmail.com> - 20230429-5
- Rebuild (geos)
* Wed Aug 16 2023 Sandro Mani <manisandro@gmail.com> - 20230429-4
- Switch to BR podofo0.9-devel
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20230429-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 06 2023 Sandro Mani <manisandro@gmail.com> - 20230429-2
- Rebuild (geos)
* Wed May 17 2023 Thomas Sailer <fedora@tsailer.ch> - 20230429-1
- update to 20230429
* Thu May 11 2023 Sandro Mani <manisandro@gmail.com> - 20201231-40
- Rebuild (gdal)
* Sat Apr 08 2023 Orion Poplawski <orion@nwra.com> - 20201231-39
- Rebuild with octave 8.1.0
* Tue Jan 24 2023 Adam Williamson <awilliam@redhat.com> - 20201231-38
- rebuild for new libgps
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20201231-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Nov 15 2022 Richard Shaw <hobbes1069@gmail.com> - 20201231-36
- Rebuild for yaml-cpp 0.7.0.
* Tue Nov 15 2022 Sandro Mani <manisandro@gmail.com> - 20201231-35
- Rebuild (geos)
* Sat Nov 12 2022 Sandro Mani <manisandro@gmail.com> - 20201231-34
- Rebuild (gdal)
* Tue Nov 08 2022 Richard Shaw <hobbes1069@gmail.com> - 20201231-33
- Rebuild for yaml-cpp 0.7.0.
* Tue Aug 23 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 20201231-32
- Restrict BR: antlr to %%java_arches
* Tue Aug 23 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 20201231-31
- Rebuild for gsl-2.7.1
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20201231-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

13
vfrnav_externc.patch Normal file
View file

@ -0,0 +1,13 @@
diff -rupN vfrnav-20201231/src/prefs.cc vfrnav-20201231-new/src/prefs.cc
--- vfrnav-20201231/src/prefs.cc 2021-01-11 17:56:47.000000000 +0100
+++ vfrnav-20201231-new/src/prefs.cc 2021-05-10 11:59:33.809251994 +0200
@@ -33,7 +33,9 @@ extern "C" {
#ifdef HAVE_GNOMEBT
//#include <gnomebt-chooser.h>
+extern "C" {
#include <bluetooth-chooser.h>
+}
#endif
PrefsWindow::PrefsWindow(BaseObjectType * castitem, const Glib::RefPtr< Builder > & refxml)