Compare commits

..

13 Commits

Author SHA1 Message Date
Automatic Release Builder
12fce0f5e9 new version: 2018.3.5 2020-04-02 08:41:52 +01:00
James Turner
08633dad45 2018.3.5 release commits 2020-04-02 08:41:35 +01:00
James Turner
c0af026d3c Update FG & SG versions to pick up some fixes 2020-03-22 11:06:19 +00:00
James Turner
7e14b07a6b macOS: code-signing changes 2020-03-20 09:35:03 +00:00
James Turner
5d5e58e3b9 Update 2018.3 branch tags 2019-11-12 15:16:10 +00:00
James Turner
4e073285d9 Notarization support in macOS packaging scripts 2019-11-12 15:16:01 +00:00
James Turner
4adf49587b New version: 2018.3.4 2019-08-07 10:02:47 +01:00
Torsten Dreyer
414402268b New version: 2018.3.3 2019-07-28 22:45:07 +02:00
James Turner
8413bbac76 Update for 2018.3.2 2019-01-06 16:16:10 +00:00
James Turner
6c7fdbc0c6 Remove -j option to Cmake --build 2018-11-26 13:54:12 +00:00
James Turner
ffdd4f062f Use Cmake -build to compile 2018-10-23 12:10:01 +01:00
James Turner
bf5ec63ac3 Include the OSG .DDS loader plugin in Mac builds 2018-10-05 13:14:27 +01:00
Torsten Dreyer
83abaeeee2 set correct release-branch for submodules 2018-09-21 17:22:27 +02:00
28 changed files with 382 additions and 1127 deletions

2
.gitignore vendored
View File

@@ -1,6 +1,6 @@
dist
.DS_Store
install*/
install
3rdParty
3rdParty.x64
boost_1_44_0

8
.gitmodules vendored
View File

@@ -1,11 +1,11 @@
[submodule "simgear"]
path = simgear
url = ../simgear
branch = release/2019.1
branch = release/2018.3
[submodule "flightgear"]
path = flightgear
url = ../flightgear
branch = release/2019.1
branch = release/2018.3
[submodule "fgrun"]
path = fgrun
url = ../fgrun
@@ -13,7 +13,7 @@
[submodule "fgdata"]
path = fgdata
url = ../fgdata
branch = release/2019.1
branch = release/2018.3
[submodule "windows-3rd-party"]
path = windows-3rd-party
url = ../windows-3rd-party
@@ -21,4 +21,4 @@
[submodule "getstart"]
path = getstart
url = ../getstart
branch = release/2019.1
branch = release/2018.3

View File

@@ -2,8 +2,7 @@
import argparse
import datetime
#import xml.etree.cElementTree as ET
import lxml.etree as ET
import xml.etree.cElementTree as ET
import os
import re
import sgprops
@@ -213,7 +212,7 @@ def append_author_nodes(node, info):
# traditional single author string
node.append( make_xml_leaf('author', info['author']) )
def make_aircraft_node(aircraftDirName, package, variants, downloadBase, mirrors):
def make_aircraft_node(aircraftDirName, package, variants, downloadBase):
#print "package:", package
#print "variants:", variants
package_node = ET.Element('package')
@@ -262,15 +261,9 @@ def make_aircraft_node(aircraftDirName, package, variants, downloadBase, mirrors
package_node.append( make_xml_leaf('dir', aircraftDirName) )
# primary URL is first
download_url = downloadBase + aircraftDirName + '.zip'
package_node.append( make_xml_leaf('url', download_url) )
for m in mirrors:
mu = m + aircraftDirName + '.zip'
package_node.append( make_xml_leaf('url', mu) )
if 'thumbnail' in package:
thumbnail_url = downloadBase + 'thumbnails/' + aircraftDirName + '_' + package['thumbnail']
package_node.append( make_xml_leaf('thumbnail', thumbnail_url) )

View File

@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<PropertyList>
<local-output>/home/fgaddon/output/Aircraft-trunk</local-output>
<download-url n="0">http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-trunk/</download-url>
<download-url n="1">http://ukmirror.flightgear.org/fgaddon/Aircraft-trunk/</download-url>
<thumbnail-url n="0">http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-trunk/thumbnails</thumbnail-url>
<thumbnail-url n="1">http://ukmirror.flightgear.org/fgaddon/Aircraft-trunk/thumbnails</thumbnail-url>
<scm>
<type>svn</type>
<path>/home/fgaddon/fgaddon-trunk/Aircraft</path>
<skip>NTPS</skip>
<skip>c172</skip>
<skip>tu134</skip>
</scm>
<include-dir>/home/fgaddon/fgdata</include-dir>
<include-dir>/home/fgaddon/fgaddon-trunk</include-dir>
<!-- <scm>
<type>git</type>
<update type="bool">false</update>
<path>/Users/jmt/FGFS/fgdata</path>
<url>git://git.code.sf.net/p/flightgear/fgdata</url>
</scm> -->
<upload n="0">
<enabled type="bool">true</enabled>
<type>rsync-ssh</type>
<remote>ibiblio:/public/mirrors/flightgear/ftp/Aircraft</remote>
</upload>
</PropertyList>

View File

@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<PropertyList>
<template>
<version n="0">2019.*</version>
<version n="1">2018.*</version>
<id>org.flightgear.fgaddon.trunk</id>
<license>GPL</license>
<url>http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-trunk/catalog.xml</url>
<name>FlightGear aircraft distribution from fgaddon</name>
<description>This hangar provides aircraft officially supported and maintained by the FlightGear project,
under a free-software license. It tracks latest aircraft developments in the FGaddon repository.</description>
<!-- <de>
<description>Auf Deutsch</description>
</de>
<fr>
<description>En Francais</description>
</fr> -->
</template>
</PropertyList>

View File

@@ -1,5 +0,0 @@
*/.svn/*
*.xcf
*.blend
*.psd
*~

View File

@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<PropertyList>
<local-output>/home/fgaddon/output/Aircraft</local-output>
<download-url n="0">http://mirrors.ibiblio.org/flightgear/ftp/Aircraft/</download-url>
<download-url n="1">http://ukmirror.flightgear.org/fgaddon/Aircraft/</download-url>
<thumbnail-url n="0">http://mirrors.ibiblio.org/flightgear/ftp/Aircraft/thumbnails</thumbnail-url>
<thumbnail-url n="1">http://ukmirror.flightgear.org/fgaddon/Aircraft/thumbnails</thumbnail-url>
<scm>
<type>svn</type>
<path>/home/fgaddon/fgaddon-legacy/Aircraft</path>
<skip>NTPS</skip>
<skip>c172</skip>
<skip>tu134</skip>
</scm>
<include-dir>/home/fgaddon/fgdata-legacy</include-dir>
<include-dir>/home/fgaddon/fgaddon-legacy</include-dir>
<upload n="0">
<enabled type="bool">true</enabled>
<type>rsync-ssh</type>
<remote>ibiblio:/public/mirrors/flightgear/ftp/Aircraft-legacy</remote>
</upload>
</PropertyList>

View File

@@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<PropertyList>
<template>
<version n="0">3.4.*</version>
<version n="1">3.5.*</version>
<version n="2">3.6.*</version>
<version n="3">3.7.*</version>
<version n="5">2016.*.*</version>
<version n="6">2017.*.*</version>
<version n="7">2018.*.*</version>
<!-- the legacy catalog has to have this ID, becuase this is what older FG
clients expect -->
<id>org.flightgear.fgaddon</id>
<license>GPL</license>
<url>http://mirrors.ibiblio.org/flightgear/ftp/Aircraft/catalog.xml</url>
<name>FlightGear aircraft(legacy support)</name>
<description>This hangar provides aircraft officially supported and maintained by the
FlightGear project, under a free-software license. Aircraft are intended for
use with FlightGear versions 2018.2 and older.</description>
<!-- <alternate-version>
<version>2019.*</version>
<version>2018.4.*</version>
<url>http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-trunk/catalog.xml</url>
<id>org.flightgear.fgaddon.trunk</id>
</alternate-version>
<alternate-version>
<version>2018.3.*</version>
<url>http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-2018/catalog.xml</url>
<id>org.flightgear.fgaddon.stable_2018</id>
</alternate-version>
-->
</template>
</PropertyList>

View File

@@ -1,5 +0,0 @@
*/.svn/*
*.xcf
*.blend
*.psd
*~

View File

@@ -2,8 +2,7 @@
from xml.sax import make_parser, handler, expatreader
# ElementTree for writing
#import xml.etree.cElementTree as ET
import lxml.etree as ET
import xml.etree.cElementTree as ET
import re, os

View File

@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Template catalog - copy and modify for your site as required-->
<PropertyList>
<local-output>/home/fgaddon/output/Aircraft-2018</local-output>
<download-url n="0">http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-2018/</download-url>
<download-url n="1">http://ukmirror.flightgear.org/fgaddon/Aircraft-2018/</download-url>
<thumbnail-url n="0">http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-2018/thumbnails</thumbnail-url>
<thumbnail-url n="1">http://ukmirror.flightgear.org/official/Aircraft-2018/thumbnails</thumbnail-url>
<!-- share zips with the trunk catalog where possible -->
<share-output>/home/fgaddon/output/Aircraft</share-output>
<share-md5-sums>/home/fgaddon/fgmeta/catalog/fgaddon-catalog-ukmirror/md5sum.xml</share-md5-sums>
<scm>
<type>svn</type>
<path>/home/fgaddon/fgaddon-release-2018.3/Aircraft</path>
<skip>NTPS</skip>
<skip>c172</skip>
<skip>tu134</skip>
</scm>
<include-dir>/home/fgaddon/fgdata-release_2018.3</include-dir>
<include-dir>/home/fgaddon/fgaddon-release-2018.3</include-dir>
<upload n="0">
<enabled type="bool">true</enabled>
<type>rsync-ssh</type>
<remote>ibiblio:/public/mirrors/flightgear/ftp/Aircraft-2018</remote>
</upload>
</PropertyList>

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<PropertyList>
<template>
<version n="0">2018.*</version>
<id>org.flightgear.fgaddon.stable_2018</id>
<license>GPL</license>
<url>http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-2018/catalog.xml</url>
<name>FlightGear aircraft distribution for 2018.x versions</name>
<description>This hangar provides aircraft officially supported and maintained
by the FlightGear project, under a free-software license. These aircraft
are compatible with FlightGear versions from 2018.</description>
</template>
</PropertyList>

View File

@@ -1,5 +0,0 @@
*/.svn/*
*.xcf
*.blend
*.psd
*~

View File

@@ -24,13 +24,10 @@ parser.add_argument("--no-update",
action="store_true")
parser.add_argument("--clean", help="Force regeneration of all zip files",
action="store_true")
parser.add_argument("--quiet", help="Only print warnings and errors",
action="store_true")
parser.add_argument("dir", help="Catalog directory")
args = parser.parse_args()
includes = []
mirrors = [] # mirror base URLs
# xml node (robust) get text helper
def get_xml_text(e):
@@ -67,8 +64,7 @@ def scan_dir_for_change_date_mtime(path):
return maxsec
def make_aircraft_zip(repo_path, name, zip_file):
if (not args.quiet):
print "Updating:", name + '.zip'
print "Updating:", name + '.zip'
savedir = os.getcwd()
os.chdir(repo_path)
if os.path.exists(zip_file):
@@ -133,7 +129,6 @@ def process_aircraft_dir(name, repo_path):
global output_dir
global valid_zips
global previews_dir
global mirrors
aircraft_dir = os.path.join(repo_path, name)
if not os.path.isdir(aircraft_dir):
@@ -141,14 +136,12 @@ def process_aircraft_dir(name, repo_path):
(package, variants) = catalog.scan_aircraft_dir(aircraft_dir, includes)
if package == None:
if not args.quiet:
print "skipping:", name, "(no -set.xml files)"
print "skipping:", name, "(no -set.xml files)"
return
if not args.quiet:
print "%s:" % name,
print "%s:" % name,
package_node = catalog.make_aircraft_node(name, package, variants, download_base, mirrors)
package_node = catalog.make_aircraft_node(name, package, variants, download_base)
download_url = download_base + name + '.zip'
if 'thumbnail' in package:
@@ -175,13 +168,11 @@ def process_aircraft_dir(name, repo_path):
or dir_mtime > os.path.getmtime(zipfile) \
or args.clean:
# rebuild zip file
if not args.quiet:
print "updating:", zipfile
print "updating:", zipfile
make_aircraft_zip(repo_path, name, zipfile)
md5sum = get_md5sum(zipfile)
else:
if not args.quiet:
print "(no change)"
print "(no change)"
if md5sum == "":
md5sum = get_md5sum(zipfile)
filesize = os.path.getsize(zipfile)
@@ -195,18 +186,6 @@ def process_aircraft_dir(name, repo_path):
else:
md5sum_root.append( catalog.make_xml_leaf('aircraft_' + name, md5sum) )
# handle sharing
if share_md5sum_root != None:
sharedNode = share_md5sum_root.find(str('aircraft_' + name))
if node != None:
shared_md5 = get_xml_text(sharedNode)
if shared_md5 == md5sum:
if not args.quiet:
print "Sharing zip with share catalog for:",name
os.remove(zipfile)
os.symlink(os.path.join( share_output_dir, name + '.zip' ), zipfile)
# handle thumbnails
copy_thumbnails_for_package(package, variants, name, aircraft_dir, thumbnail_dir)
@@ -245,31 +224,11 @@ else:
md5sum_root = ET.Element('PropertyList')
md5sum_tree = ET.ElementTree(md5sum_root)
# share .zip files with other output dirs
share_output_dir = get_xml_text(config_node.find('share-output'))
share_md5_file = get_xml_text(config_node.find('share-md5-sums'))
if share_output_dir != '' and share_md5_file != '':
print 'Output shared with:', share_output_dir
share_md5sum_tree = ET.parse(share_md5_file, parser)
share_md5sum_root = share_md5sum_tree.getroot()
else:
share_md5sum_root = None
# SCM providers
scm_list = config_node.findall('scm')
upload_node = config_node.find('upload')
download_base = None
for i in config_node.findall("download-url"):
url = get_xml_text(i)
if not url.endswith('/'):
url += '/'
if download_base == None:
# download_base is the first entry
download_base = url
else:
mirrors.append(url)
download_base = get_xml_text(config_node.find('download-url'))
if not download_base.endswith('/'):
download_base += '/'
output_dir = get_xml_text(config_node.find('local-output'))
if output_dir == '':
@@ -341,8 +300,7 @@ for scm in scm_list:
names = os.listdir(repo_path)
for name in sorted(names, key=lambda s: s.lower()):
if name in skip_list:
if not args.quiet:
print "skipping:", name
print "skipping:", name
continue
# process each aircraft in turn

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +0,0 @@
scratch-*/
vcpkg-git/

View File

@@ -46,10 +46,8 @@ IF NOT EXIST vcpkg-git/NUL (
)
cd %ROOT_DIR%
IF NOT EXIST openscenegraph-3.4-build/NUL (
mkdir openscenegraph-3.4-build
)
IF NOT EXIST openscenegraph-3.4-git/NUL (
mkdir openscenegraph-3.4-build
echo Downloading OpenSceneGraph . . .
git clone -b OpenSceneGraph-3.4 https://github.com/openscenegraph/OpenSceneGraph.git openscenegraph-3.4-git
) ELSE (
@@ -59,10 +57,8 @@ IF NOT EXIST openscenegraph-3.4-git/NUL (
)
cd %ROOT_DIR%
IF NOT EXIST simgear-build/NUL (
mkdir simgear-build
)
IF NOT EXIST simgear-git/NUL (
mkdir simgear-build
echo Downloading SimGear . . .
git clone -b next https://git.code.sf.net/p/flightgear/simgear simgear-git
) ELSE (
@@ -72,10 +68,8 @@ IF NOT EXIST simgear-git/NUL (
)
cd %ROOT_DIR%
IF NOT EXIST flightgear-build/NUL (
mkdir flightgear-build
)
IF NOT EXIST flightgear-git/NUL (
mkdir flightgear-build
echo Downloading FlightGear . . .
git clone -b next https://git.code.sf.net/p/flightgear/flightgear flightgear-git
) ELSE (
@@ -85,10 +79,8 @@ IF NOT EXIST flightgear-git/NUL (
)
cd %ROOT_DIR%
IF NOT EXIST terragear-build/NUL (
mkdir terragear-build
)
IF NOT EXIST terragear-git/NUL (
mkdir terragear-build
echo Downloading TerraGear . . .
git clone -b next https://git.code.sf.net/p/flightgear/terragear terragear-git
) ELSE (

View File

@@ -1,202 +0,0 @@
#!/bin/bash
# fg-from-scratch - Linux utility to download, compile, and stage TerraGear and its dependencies
# Copyright (C) 2018 Scott Giese (xDraconian) scttgs0@gmail.com
# This program 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 2
# of the License, or (at your option) any later version.
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
QT_SELECT=qt5
ROOT_DIR=${PWD}
PATH=${ROOT_DIR}/vcpkg-git/installed/x64-linux/bin:${PATH}
CMAKE_TOOLCHAIN="Ninja"
CHIPSET=$(gcc -march=native -Q --help=target | grep -- '-march=' | cut -f3)
QT5x64=$(qtpaths --install-prefix)
QT5x64_LIB=${QT5x64}/lib
QT5x64_CMAKE=${QT5x64_LIB}/cmake
QT5x64_PKGCONFIG=${QT5x64_LIB}/pkgconfig
export PKG_CONFIG_PATH=${ROOT_DIR}/scratch-install/lib64/pkgconfig:${ROOT_DIR}/vcpkg-git/installed/x64-linux/lib/pkgconfig:${QT5x64_PKGCONFIG}
echo ${QT5x64}
if [ ! -d "vcpkg-git" ]
then
echo Preparing to install external libraries via vcpkg . . .
git clone https://github.com/Microsoft/vcpkg.git vcpkg-git
echo Compiling vcpkg
cd vcpkg-git
./bootstrap-vcpkg.sh
echo Compiling external libraries . . .
./vcpkg install --triplet x64-linux boost cgal curl freeglut freetype glew jasper libxml2 openal-soft openssl plib sdl2 tiff zlib
else
echo Updating vcpkg . . .
cd vcpkg-git
PULL_RESULT=$(git pull)
if [ "${PULL_RESULT}" != "Already up to date." ]
then
echo Compiling vcpkg
./bootstrap-vcpkg.sh
fi
echo Updating external libraries . . .
./vcpkg update
./vcpkg upgrade --triplet x64-linux --no-dry-run
echo Compiling external libraries . . .
./vcpkg install --triplet x64-linux boost cgal curl freeglut freetype glew jasper libxml2 openal-soft openssl plib sdl2 tiff zlib
fi
cd ${ROOT_DIR}
if [ ! -d "scratch-source" ]
then
mkdir scratch-source
fi
if [ ! -d "scratch-build" ]
then
mkdir scratch-build
fi
if [ ! -d "scratch-install" ]
then
mkdir scratch-install
fi
if [ ! -d "scratch-build/openscenegraph-3.4" ]
then
mkdir scratch-build/openscenegraph-3.4
fi
if [ ! -d "scratch-source/openscenegraph-3.4-git" ]
then
echo Downloading OpenSceneGraph . . .
git clone -b OpenSceneGraph-3.4 https://github.com/openscenegraph/OpenSceneGraph.git scratch-source/openscenegraph-3.4-git
else
echo Updating OpenSceneGraph . . .
cd scratch-source/openscenegraph-3.4-git
git pull
fi
cd ${ROOT_DIR}
if [ ! -d "scratch-build/simgear" ]
then
mkdir scratch-build/simgear
fi
if [ ! -d "scratch-source/simgear-git" ]
then
echo Downloading SimGear . . .
git clone -b next https://git.code.sf.net/p/flightgear/simgear scratch-source/simgear-git
else
echo Updating SimGear . . .
cd scratch-source/simgear-git
git pull
fi
cd ${ROOT_DIR}
if [ ! -d "scratch-build/flightgear" ]
then
mkdir scratch-build/flightgear
fi
if [ ! -d "scratch-source/flightgear-git" ]
then
echo Downloading FlightGear . . .
git clone -b next https://git.code.sf.net/p/flightgear/flightgear scratch-source/flightgear-git
else
echo Updating FlightGear . . .
cd scratch-source/flightgear-git
git pull
fi
cd ${ROOT_DIR}
if [ ! -d "scratch-build/terragear" ]
then
mkdir scratch-build/terragear
fi
if [ ! -d "scratch-source/terragear-git" ]
then
echo Downloading TerraGear . . .
git clone -b next https://git.code.sf.net/p/flightgear/terragear scratch-source/terragear-git
else
echo Updating TerraGear . . .
cd scratch-source/terragear-git
git pull
fi
cd ${ROOT_DIR}
echo Compiling OpenSceneGraph . . .
cd scratch-build/openscenegraph-3.4
cmake ../../scratch-source/openscenegraph-3.4-git -G ${CMAKE_TOOLCHAIN} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/scratch-install \
-DCMAKE_PREFIX_PATH=${ROOT_DIR}/scratch-install/lib:${ROOT_DIR}/vcpkg-git/installed/x64-linux/lib:${QT5x64_LIB} \
-DCMAKE_CXX_FLAGS="-march=${CHIPSET} -mtune=${CHIPSET}" \
-DCMAKE_C_FLAGS="-march=${CHIPSET} -mtune=${CHIPSET}" \
-DBUILD_DOCUMENTATION:BOOL=1 \
-DBUILD_OSG_APPLICATIONS:BOOL=1 \
-DQt5Core_DIR=${QT5x64_CMAKE}/Qt5Core \
-DQt5Gui_DIR=${QT5x64_CMAKE}/Qt5Gui \
-DQt5OpenGL_DIR=${QT5x64_CMAKE}/Qt5OpenGL \
-DQt5Widgets_DIR=${QT5x64_CMAKE}/Qt5Widgets
cmake --build . --config Release --target install
cd ${ROOT_DIR}
echo Compiling SimGear . . .
cd scratch-build/simgear
cmake ../../scratch-source/simgear-git -G ${CMAKE_TOOLCHAIN} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/scratch-install \
-DCMAKE_PREFIX_PATH=${ROOT_DIR}/scratch-install/lib:${ROOT_DIR}/vcpkg-git/installed/x64-linux/lib:${QT5x64} \
-DCMAKE_CXX_FLAGS="-march=${CHIPSET} -mtune=${CHIPSET}" \
-DCMAKE_C_FLAGS="-march=${CHIPSET} -mtune=${CHIPSET}"
cmake --build . --config Release --target install
cd ${ROOT_DIR}
echo Compiling FlightGear . . .
cd scratch-build/flightgear
cmake ../../scratch-source/flightgear-git -G ${CMAKE_TOOLCHAIN} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/scratch-install \
-DCMAKE_PREFIX_PATH=${ROOT_DIR}/scratch-install/lib:${ROOT_DIR}/vcpkg-git/installed/x64-linux/lib:${QT5x64_LIB} \
-DCMAKE_CXX_FLAGS="-march=${CHIPSET} -mtune=${CHIPSET}" \
-DCMAKE_C_FLAGS="-march=${CHIPSET} -mtune=${CHIPSET}" \
-DOSG_FSTREAM_EXPORT_FIXED:BOOL=1 \
-DENABLE_JSBSIM:BOOL=1 \
-DENABLE_GPSSMOOTH:BOOL=1 \
-DENABLE_FGVIEWER:BOOL=1 \
-DENABLE_STGMERGE:BOOL=0 \
-DQt5Core_DIR=${QT5x64_CMAKE}/Qt5Core \
-DQt5Gui_DIR=${QT5x64_CMAKE}/Qt5Gui \
-DQt5LinguistTools_DIR=${QT5x64_CMAKE}/Qt5LinguistTools \
-DQt5Network_DIR=${QT5x64_CMAKE}/Qt5Network \
-DQt5Qml_DIR=${QT5x64_CMAKE}/Qt5Qml \
-DQt5Quick_DIR=${QT5x64_CMAKE}/Qt5Quick \
-DQt5Svg_DIR=${QT5x64_CMAKE}/Qt5Svg \
-DQt5Widgets_DIR=${QT5x64_CMAKE}/Qt5Widgets \
-DQt5_DIR=${QT5x64_CMAKE}/Qt5
cmake --build . --config Release --target install
cd ${ROOT_DIR}
echo Compiling TerraGear . . .
cd scratch-build/terragear
cmake ../../scratch-source/terragear-git -G ${CMAKE_TOOLCHAIN} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/scratch-install \
-DCMAKE_PREFIX_PATH=${ROOT_DIR}/scratch-install/lib:${ROOT_DIR}/vcpkg-git/installed/x64-linux/lib:${QT5x64_LIB} \
-DCMAKE_CXX_FLAGS="-march=${CHIPSET} -mtune=${CHIPSET}" \
-DCMAKE_C_FLAGS="-march=${CHIPSET} -mtune=${CHIPSET}"
cmake --build . --config Release --target install
cd ${ROOT_DIR}
echo All done!

2
fgdata

Submodule fgdata updated: dade6b7218...7ffa7fafa3

View File

@@ -23,16 +23,15 @@ echo "Starting on SimGear"
pushd sgBuild
cmake -DCMAKE_INSTALL_PREFIX:PATH=$WORKSPACE/dist -DCMAKE_BUILD_TYPE=RelWithDebInfo ../simgear
# compile
make
# compile (with out-j for now, it's hitting process limits)
cmake --build .
if [ $? -ne '0' ]; then
echo "make simgear failed"
exit 1
fi
make install
cmake --build . --target install
popd
@@ -48,14 +47,15 @@ fi
cmake -DFG_BUILD_TYPE=$FGBUILDTYPE -DCMAKE_INSTALL_PREFIX:PATH=$WORKSPACE/dist -DCMAKE_BUILD_TYPE=RelWithDebInfo ../flightgear
make
# compile (with out-j for now, it's hitting process limits)
cmake --build .
if [ $? -ne '0' ]; then
echo "make flightgear failed"
exit 1
fi
make install
cmake --build . --target install
popd

View File

@@ -31,6 +31,8 @@ $osgSoVersion=runOsgVersion('so-number')
$openThreadsSoVersion=runOsgVersion('openthreads-soversion-number')
$codeSignIdentity = ENV['FG_CODESIGN_IDENTITY']
$keychain = ENV['FG_KEYCHAIN']
puts "Code signing identity is #{$codeSignIdentity}"
puts "osgVersion=#{osgVersion}, so-number=#{$osgSoVersion}"
@@ -54,11 +56,10 @@ bundle=dmgDir + "/FlightGear.app"
puts "Running macdeployqt on the bundle to copy Qt libraries"
`macdeployqt #{$prefixDir}/fgfs.app -qmldir=#{qmlDir}`
puts "Moving & renaming app bundle"
puts "Copying & renaming app bundle"
`mkdir -p #{dmgDir}`
`mv #{$prefixDir}/fgfs.app #{bundle}`
`rsync --archive --quiet #{$prefixDir}/fgfs.app/ #{bundle}`
bundle=dmgDir + "/FlightGear.app"
contents=bundle + "/Contents"
macosDir=contents + "/MacOS"
$frameworksDir=contents +"/Frameworks"
@@ -135,27 +136,47 @@ File.open("#{contents}/Info.plist", 'w') { |f|
createArgs = "-format UDBZ -imagekey bzip2-level=9 -quiet -volname #{volName}"
# enable the hardened runtime and timestamp options, so notarization works
codeSignArgs = "--deep --options=runtime --timestamp"
if !$isRelease
# create the 'lite' DMG without the base files
# code sign the entire bundle once complete - v2 code-signing
puts "Signing #{bundle}"
`codesign --deep -s "#{$codeSignIdentity}" #{bundle}`
puts "Creating DMG"
`codesign #{codeSignArgs} --keychain #{$keychain} -s "#{$codeSignIdentity}" #{bundle}`
puts "Creating DMG without base-files"
`rm -f #{dmgPath}`
`hdiutil create -srcfolder #{dmgDir} #{createArgs} #{dmgPath}`
puts "Notarizing DMG #{dmgPath}"
`xcrun altool --notarize-app \
--primary-bundle-id "org.flightgear.mac" \
--username "zakalawe@mac.com" \
--password "@keychain:FlightGearAppStoreConnectUserName" \
--file #{dmgPath}`
end
puts "Creating full image with data"
puts "Copying base package files into the image"
`rsync -a fgdata/ #{resourcesDir}/data`
# re-sign the entire bundle
puts "Re-signing full #{bundle}"
`codesign --force --deep -s "#{$codeSignIdentity}" #{bundle}`
puts "Re-signing full app: #{bundle}"
`codesign --force #{codeSignArgs} --keychain #{$keychain} -s "#{$codeSignIdentity}" #{bundle}`
`rm -f #{dmgFullPath}`
`hdiutil create -srcfolder #{dmgDir} #{createArgs} #{dmgFullPath}`
puts "Notarizing DMG #{dmgFullPath}"
`xcrun altool --notarize-app \
--primary-bundle-id "org.flightgear.mac" \
--username "zakalawe@mac.com" \
--password "@keychain:FlightGearAppStoreConnectUserName" \
--file #{dmgFullPath}`
puts "Packaging complete"

View File

@@ -91,7 +91,6 @@ PLURAL_FORMS = {
"nl": ["singular", "plural"],
"pl": ["singular", "paucal", "plural"],
"pt": ["singular", "plural"],
"ru": ["singular", "plural"],
"zh": ["universal"] # universal form
}
@@ -577,25 +576,10 @@ class Translation:
return ''.join(l)
def __getitem__(self, cat):
"""Get all translations for a given category.
Return a mapping where each key is a tid (instance of a subclass
of AbstractTranslationUnitId) and each value a TranslationUnit
instance.
"""
return self.translations[cat]
def __setitem__(self, cat, mapping):
"""Replace all translations for a given category.
cat: a category name (string such as 'sys', 'options', etc.)
mapping: a mapping where each key is a tid (instance of a
subclass of AbstractTranslationUnitId) and each value a
TranslationUnit instance.
"""
self.translations[cat] = dict(mapping)
def __setitem__(self, cat, translUnit):
self.translations[cat] = translUnit
def __iter__(self):
return iter(self.translations)
@@ -1670,8 +1654,10 @@ registerFormatHandler("xliff", XliffFormatHandler)
# Could also be a dict
def L10nResMgrForCat(category):
"""Map from category/resource name to L10NResourceManager class."""
if category in ("menu", "options", "sys", "tips"):
if category in ("menu", "options", "tips"):
return BasicL10NResourceManager
elif category == "sys":
return SysL10NResourceManager
else:
assert False, "unexpected category: {!r}".format(category)
@@ -1857,7 +1843,7 @@ class L10NResourceManagerBase:
class BasicL10NResourceManager(L10NResourceManagerBase):
"""Resource manager for FG XML i18n files with the simplest structure.
This is suitable for resources (menu, options, tips, etc.) where
This is suitable for resources (menu, options, tips) where
translations are in direct children of the <PropertyList> element,
with no more structure.
@@ -1865,16 +1851,7 @@ class BasicL10NResourceManager(L10NResourceManagerBase):
@classmethod
def _findMainNode(cls, rootNode):
"""
Return the node directly containing the translations in an FG XML file.
This method was added when sys.xml had all its useful contents
inside a 'splash' top-level node, instead of having a flat
structure like the other FG XML i18n files (options.xml,
menu.xml, etc.). At that time, we thus had a
SysL10NResourceManager class derived from this class only to
override this method.
"""
Return the node directly containing the translations in an FG XML file."""
assert rootNode.tag == "PropertyList", rootNode.tag
return rootNode
@@ -1932,3 +1909,17 @@ class BasicL10NResourceManager(L10NResourceManagerBase):
[text], isPlural=isPlural, logger=logger)
return nbWhitespaceProblems
class SysL10NResourceManager(BasicL10NResourceManager):
@classmethod
def _findMainNode(cls, rootNode):
"""
Return the node directly containing the translations in sys.xml."""
assert rootNode.tag == "PropertyList", rootNode.tag
# In sys.xml, all translations are inside a <splash> element
mainNode = rootNode.find("splash")
assert mainNode is not None
return mainNode

View File

@@ -1,7 +1,7 @@
#!/bin/bash
THIS_RELEASE="2019.1"
NEXT_RELEASE="2019.2"
THIS_RELEASE="2018.3"
NEXT_RELEASE="2018.4"
SUBMODULES="simgear flightgear fgdata getstart"
#:<< 'COMMENT_END'

Submodule simgear updated: d6bbad87c4...7a773f30e6

View File

@@ -1,22 +0,0 @@
#!/bin/bash
mirror_dirs='fgdata fgmeta flightgear simgear getstart windows-3rd-party fgrun'
pushd /var/lib/git
for dir in $mirror_dirs
do
repo_name=$dir.git
if [ ! -d "$repo_name" ]; then
echo "Doing initial clone"
git clone --mirror git://git.code.sf.net/p/flightgear/$dir
fi
pushd $repo_name
echo "Updating in $PWD"
git remote update
popd
done
popd

View File

@@ -1 +1 @@
2019.1.2
2018.3.5