diff --git a/.github/workflows/docker_archives.yml b/.github/workflows/docker_archives.yml index 19bdc77b0..2007264d7 100644 --- a/.github/workflows/docker_archives.yml +++ b/.github/workflows/docker_archives.yml @@ -30,6 +30,8 @@ jobs: - version: 1.9.0 latest: false - version: 1.10.0 + latest: false + - version: 1.11.0 latest: true uses: ./.github/workflows/docker.yml diff --git a/gbversion.cmake b/gbversion.cmake index daca381d0..ba5e09157 100644 --- a/gbversion.cmake +++ b/gbversion.cmake @@ -14,14 +14,14 @@ # By defining the version here we minimize the number of locations # containing the definition to gbversion.pri and gbversion.cmake. -set(GB.VERSION 1.10.0) +set(GB.VERSION 1.11.0) string(REPLACE "." ";" VERSION_COMPONENTS ${GB.VERSION}) list(GET VERSION_COMPONENTS 0 GB.MAJOR) list(GET VERSION_COMPONENTS 1 GB.MINOR) list(GET VERSION_COMPONENTS 2 GB.MICRO) # Increase GB.BUILD for a new release (why? Where is this ever used?) # A: it's used by win32/gpsbabel.rc which includes gbversion.h -set(GB.BUILD 34 CACHE STRING "Fourth component of Windows VERSIONINFO resource FILEVERSION and PRODUCTVERSION parameters.") +set(GB.BUILD 35 CACHE STRING "Fourth component of Windows VERSIONINFO resource FILEVERSION and PRODUCTVERSION parameters.") set(GB.PACKAGE_RELEASE "" CACHE STRING "String to append to VERSION tuple.") # .e.g. "-beta20190413" set(GB.SHA $ENV{GITHUB_SHA}) if(DEFINED ENV{GITHUB_SHA}) diff --git a/gui/aboutui.ui b/gui/aboutui.ui index f960d2afc..243f6a75f 100644 --- a/gui/aboutui.ui +++ b/gui/aboutui.ui @@ -83,7 +83,7 @@ p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:12pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">$appname$</span></p> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">$babelfeversion$</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2009-2024 Robert Lipe</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2009-2025 Robert Lipe</p> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">GUI designed and contributed by S. Khai Mong</p> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LGPL Crystal Icons by Elvarado Coehlo</p> <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> diff --git a/reference/help.txt b/reference/help.txt index e0f01fd6d..e868d73bc 100644 --- a/reference/help.txt +++ b/reference/help.txt @@ -1,4 +1,4 @@ -GPSBabel Version 1.10.0. https://www.gpsbabel.org +GPSBabel Version 1.11.0. https://www.gpsbabel.org Usage: ./gpsbabel [options] -i INTYPE -f INFILE [filter] -o OUTTYPE -F OUTFILE diff --git a/reference/usage.txt b/reference/usage.txt index 9093be336..a9aa7ebba 100644 --- a/reference/usage.txt +++ b/reference/usage.txt @@ -1,4 +1,4 @@ -GPSBabel Version 1.10.0. https://www.gpsbabel.org +GPSBabel Version 1.11.0. https://www.gpsbabel.org Usage: ./gpsbabel [options] -i INTYPE -f INFILE [filter] -o OUTTYPE -F OUTFILE diff --git a/tools/archive_images/Dockerfile_gpsbabel_1.11.0 b/tools/archive_images/Dockerfile_gpsbabel_1.11.0 new file mode 100644 index 000000000..c9193022c --- /dev/null +++ b/tools/archive_images/Dockerfile_gpsbabel_1.11.0 @@ -0,0 +1,113 @@ +# this file is used to build the image gpsbabel_build_environment used by travis. + +FROM ubuntu:noble AS stage + +# update environment. +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y --no-install-recommends \ + apt-utils \ + && apt-get upgrade -y \ + && rm -rf /var/lib/apt/lists/* + +# install packages needed for gpsbabel build +# split into multiple commands to limit layer size + +# basic build and test tools +RUN apt-get update && apt-get install -y --no-install-recommends \ + g++ \ + git \ + expat \ + libxml2-utils \ + cmake \ + ninja-build \ + curl \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +# pkgs with libraries needed by gpsbabel +RUN apt-get update && apt-get install -y --no-install-recommends \ + libusb-1.0-0-dev \ + pkg-config \ + libudev-dev \ + libshp-dev \ + zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* + +# pkgs with qt used by gpsbabel +RUN apt-get update && apt-get install -y --no-install-recommends \ + qt6-base-dev \ + qt6-5compat-dev \ + qt6-serialport-dev \ + libx11-xcb-dev \ + libxkbcommon-dev \ + qt6-tools-dev \ + qt6-translations-l10n \ + qt6-webengine-dev \ + qt6-wayland \ + && rm -rf /var/lib/apt/lists/* + +# install environment for locale test +RUN apt-get update && apt-get install -y --no-install-recommends \ + locales \ + tzdata \ + && rm -rf /var/lib/apt/lists/* \ + && sed -i 's/^# *\(en_US ISO-8859-1\)/\1/' /etc/locale.gen \ + && locale-gen \ + && locale -a + +RUN --mount=type=bind,target=/home/gpsbabel/gpsbabel-build,rw cd /home/gpsbabel/gpsbabel-build \ + && rm -fr zlib \ + && rm -fr shapelib \ + && sed -i -e"/GB.SHA/i set(ENV{GITHUB_SHA} \"$(git log -1 --format=%h)\")" gbversion.cmake \ + && cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt6 -DGPSBABEL_WITH_ZLIB=pkgconfig -DGPSBABEL_WITH_SHAPELIB=pkgconfig -B bld \ + && cmake --build bld --target package_app \ + && cmake --build bld --target check \ + && mkdir -p /usr/local/cellar \ + && cp -pr bld/gui/GPSBabelFE /usr/local/cellar \ + && ln -s /usr/local/cellar/GPSBabelFE/gpsbabel /usr/local/bin \ + && ln -s /usr/local/cellar/GPSBabelFE/gpsbabelfe /usr/local/bin \ + && cp tools/archive_images/setup_user.sh /usr/local/bin + +FROM ubuntu:noble + +LABEL maintainer="https://github.com/tsteven4" + +# update environment. +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y --no-install-recommends \ + && apt-get upgrade -y \ + && rm -rf /var/lib/apt/lists/* + +# the trick here is finding all the packages that we, and the plugins we +# use need. Note we had to figure this out for snapcraft, but it +# changes for different flavors of ubuntu. +RUN apt-get update && apt-get install -y --no-install-recommends \ + ca-certificates \ + tzdata \ + libusb-1.0-0 \ + libudev1 \ + libshp4 \ + zlib1g \ + libqt6core6 \ + libqt6core5compat6 \ + libqt6gui6 \ + libqt6network6 \ + libqt6serialport6 \ + libqt6widgets6 \ + libqt6xml6 \ + libqt6webenginewidgets6 \ + libqt6webenginecore6 \ + libqt6webenginecore6-bin \ + qt6-translations-l10n \ + qt6-qpa-plugins \ + qt6-wayland \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=stage /usr/local/cellar /usr/local/cellar +COPY --from=stage /usr/local/bin/setup_user.sh /usr/local/bin + +RUN ln -s /usr/local/cellar/GPSBabelFE/gpsbabel /usr/local/bin \ + && ln -s /usr/local/cellar/GPSBabelFE/gpsbabelfe /usr/local/bin + +USER ubuntu:ubuntu +WORKDIR /app diff --git a/tools/archive_images/rebuild.sh b/tools/archive_images/rebuild.sh index a99eb5bb5..fb55c44ed 100755 --- a/tools/archive_images/rebuild.sh +++ b/tools/archive_images/rebuild.sh @@ -9,3 +9,4 @@ ./make_docker_image_gpsbabel.sh -s 1.8.0 ./make_docker_image_gpsbabel.sh -s 1.9.0 ./make_docker_image_gpsbabel.sh -s 1.10.0 +./make_docker_image_gpsbabel.sh -s 1.11.0 diff --git a/tools/archive_images/run_gpsbabel.ps1 b/tools/archive_images/run_gpsbabel.ps1 index 5bd3e5602..0b54f2b60 100755 --- a/tools/archive_images/run_gpsbabel.ps1 +++ b/tools/archive_images/run_gpsbabel.ps1 @@ -15,7 +15,7 @@ will be automatically set to /app. Specify the version of GPSBabel. This is only used with the -cli, -gui, and -clean options. The default is "latest". Valid versions are "1.5.0", "1.5.1", "1.5.2", "1.5.3", "1.5.4", "1.6.0", "1.7.0", "1.8.0", "1.9.0", -"1.10.0", "latest", and "dev". +"1.10.0", "1.11.0", "latest", and "dev". .PARAMETER cli Run the gpsbabel CLI, passing all the remaining arguments. @@ -62,7 +62,7 @@ param( [Parameter(ParameterSetName = 'CleanSet')] [Parameter(ParameterSetName = 'CliSet')] [Parameter(ParameterSetName = 'GuiSet')] - [ValidateSet("1.5.0", "1.5.1", "1.5.2", "1.5.3", "1.5.4", "1.6.0", "1.7.0", "1.8.0", "1.9.0", "1.10.0", "latest", "dev")] + [ValidateSet("1.5.0", "1.5.1", "1.5.2", "1.5.3", "1.5.4", "1.6.0", "1.7.0", "1.8.0", "1.9.0", "1.10.0", "1.11.0", "latest", "dev")] [string] $version = "latest", [Parameter(ParameterSetName = 'ListSet')] diff --git a/tools/archive_images/test.sh b/tools/archive_images/test.sh index b0f5eb2fa..7ee862eae 100755 --- a/tools/archive_images/test.sh +++ b/tools/archive_images/test.sh @@ -1,7 +1,7 @@ #!/bin/bash -ex # run testo on the docker images -versions=(1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.7.0 1.8.0 1.9.0 1.10.0) +versions=(1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.7.0 1.8.0 1.9.0 1.10.0 1.11.0) for ver in "${versions[@]}"; do ver_=$(echo "${ver}" | tr . _) tag=gpsbabel_${ver_}