diff -Nru fiona-1.8.18/appveyor.yml fiona-1.8.20/appveyor.yml --- fiona-1.8.18/appveyor.yml 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/appveyor.yml 2021-05-31 21:29:33.000000000 +0000 @@ -12,6 +12,7 @@ CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_env.cmd" GDAL_HOME: "C:\\gdal" PYTHONWARNINGS: "ignore:DEPRECATION::pip._internal.cli.base_command" + ENABLE_DEPRECATED_DRIVER_GTM: "YES" matrix: # PYTHON_VERSION and PYTHON_ARCH are required by run_with_env.cmd. diff -Nru fiona-1.8.18/CHANGES.txt fiona-1.8.20/CHANGES.txt --- fiona-1.8.18/CHANGES.txt 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/CHANGES.txt 2021-05-31 21:29:33.000000000 +0000 @@ -3,6 +3,30 @@ All issue numbers are relative to https://github.com/Toblerity/Fiona/issues. +1.8.20 (2021-05-31) +------------------- + +Packaging: + +- Wheels include GDAL 3.3.0 and GEOS 3.9.1. + +Bug fixes: + +- Allow use with click 8 and higher (#1015). + +1.8.19 (2021-04-07) +------------------- + +Packaging: + +- Wheels include GDAL 3.2.1 and PROJ 7.2.1. + +Bug fixes: + +- In fiona/env.py the GDAL data path is now configured using set_gdal_config + instead by setting the GDAL_DATA environment variable (#1007). +- Spurious iterator reset warnings have been eliminatged (#987). + 1.8.18 (2020-11-17) ------------------- diff -Nru fiona-1.8.18/debian/changelog fiona-1.8.20/debian/changelog --- fiona-1.8.18/debian/changelog 2020-12-17 10:00:00.000000000 +0000 +++ fiona-1.8.20/debian/changelog 2021-10-02 10:00:00.000000000 +0000 @@ -1,8 +1,42 @@ -fiona (1.8.18-1~focal0) focal; urgency=medium +fiona (1.8.20-2~focal0) focal; urgency=medium - * No change rebuild for focal. + * No change rebuild for Focal. - -- Angelos Tzotsos Thu, 17 Dec 2020 12:00:00 +0200 + -- Angelos Tzotsos Sat, 02 Oct 2021 13:00:00 +0300 + +fiona (1.8.20-2) unstable; urgency=medium + + * Team upload. + * Set GDAL_ENABLE_DEPRECATED_DRIVER_GTM=YES to fix test failures. + * Skip tests/test_drvsupport.py, fails with GDAL 3.3.1. + (closes: #992526) + + -- Bas Couwenberg Fri, 20 Aug 2021 11:08:06 +0200 + +fiona (1.8.20-1) unstable; urgency=medium + + * Team upload. + * Move from experimental to unstable. + + -- Bas Couwenberg Sun, 15 Aug 2021 14:39:44 +0200 + +fiona (1.8.20-1~exp1) experimental; urgency=medium + + * Team upload. + * New upstream release. + * Refresh patches. + + -- Bas Couwenberg Tue, 01 Jun 2021 05:42:39 +0200 + +fiona (1.8.19-1~exp1) experimental; urgency=medium + + * Team upload. + * New upstream release. + * Bump Standards-Version to 4.5.1, no changes. + * Update watch file for GitHub URL changes. + * Refresh patches. + + -- Bas Couwenberg Thu, 08 Apr 2021 05:57:31 +0200 fiona (1.8.18-1) unstable; urgency=medium diff -Nru fiona-1.8.18/debian/control fiona-1.8.20/debian/control --- fiona-1.8.18/debian/control 2020-11-18 03:23:11.000000000 +0000 +++ fiona-1.8.20/debian/control 2021-10-02 10:00:00.000000000 +0000 @@ -21,7 +21,7 @@ python3-setuptools, python3-six, python3-sphinx -Standards-Version: 4.5.0 +Standards-Version: 4.5.1 Vcs-Browser: https://salsa.debian.org/debian-gis-team/fiona Vcs-Git: https://salsa.debian.org/debian-gis-team/fiona.git Homepage: https://github.com/Toblerity/Fiona diff -Nru fiona-1.8.18/debian/patches/0001-Rename-fio-command-to-fiona-to-avoid-name-clash.patch fiona-1.8.20/debian/patches/0001-Rename-fio-command-to-fiona-to-avoid-name-clash.patch --- fiona-1.8.18/debian/patches/0001-Rename-fio-command-to-fiona-to-avoid-name-clash.patch 2020-11-18 03:23:30.000000000 +0000 +++ fiona-1.8.20/debian/patches/0001-Rename-fio-command-to-fiona-to-avoid-name-clash.patch 2021-08-15 12:39:37.000000000 +0000 @@ -9,7 +9,7 @@ --- a/setup.py +++ b/setup.py -@@ -324,7 +324,7 @@ setup_args = dict( +@@ -325,7 +325,7 @@ setup_args = dict( packages=['fiona', 'fiona.fio'], entry_points=''' [console_scripts] diff -Nru fiona-1.8.18/debian/patches/0002-Remove-outside-reference-possible-privacy-breach.patch fiona-1.8.20/debian/patches/0002-Remove-outside-reference-possible-privacy-breach.patch --- fiona-1.8.18/debian/patches/0002-Remove-outside-reference-possible-privacy-breach.patch 2020-09-01 04:22:17.000000000 +0000 +++ fiona-1.8.20/debian/patches/0002-Remove-outside-reference-possible-privacy-breach.patch 2021-08-15 12:39:37.000000000 +0000 @@ -13,8 +13,8 @@ Fiona is GDAL_'s neat and nimble vector API for Python programmers. --.. image:: https://travis-ci.org/Toblerity/Fiona.png?branch=master -- :target: https://travis-ci.org/Toblerity/Fiona +-.. image:: https://github.com/Toblerity/Fiona/workflows/Linux%20CI/badge.svg?branch=maint-1.8 +- :target: https://github.com/Toblerity/Fiona/actions?query=branch%3Amaint-1.8 - -.. image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Fiona?svg=true - :target: https://ci.appveyor.com/project/sgillies/fiona/branch/master diff -Nru fiona-1.8.18/debian/patches/0006-Remove-unknown-distribution-options.patch fiona-1.8.20/debian/patches/0006-Remove-unknown-distribution-options.patch --- fiona-1.8.18/debian/patches/0006-Remove-unknown-distribution-options.patch 2020-11-18 03:23:32.000000000 +0000 +++ fiona-1.8.20/debian/patches/0006-Remove-unknown-distribution-options.patch 2021-08-15 12:39:37.000000000 +0000 @@ -7,7 +7,7 @@ --- a/setup.py +++ b/setup.py -@@ -306,11 +306,8 @@ extras_require['all'] = list(set(it.chai +@@ -307,11 +307,8 @@ extras_require['all'] = list(set(it.chai setup_args = dict( cmdclass={'sdist': sdist_multi_gdal}, diff -Nru fiona-1.8.18/debian/rules fiona-1.8.20/debian/rules --- fiona-1.8.18/debian/rules 2020-03-19 16:54:11.000000000 +0000 +++ fiona-1.8.20/debian/rules 2021-08-20 09:05:22.000000000 +0000 @@ -10,6 +10,8 @@ DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) +export GDAL_ENABLE_DEPRECATED_DRIVER_GTM=YES + export PYBUILD_NAME=fiona export PYBUILD_AFTER_BUILD_python3 = mkdir -p doc-build && cd doc-build && PYTHONPATH={build_dir} http_proxy='127.0.0.1:9' python{version} -m sphinx -N -bhtml -D today="$(BUILD_DATE)" ../docs/ ../build/html export PYBUILD_TEST_PYTEST=1 @@ -18,6 +20,7 @@ export PYBUILD_TEST_ARGS=--ignore tests/test_bytescollection.py \ --ignore tests/test_collection.py \ --ignore tests/test_data_paths.py \ + --ignore tests/test_drvsupport.py \ --ignore tests/test_feature.py \ --ignore tests/test_filter_vsi.py \ --ignore tests/test_fio_bounds.py \ diff -Nru fiona-1.8.18/debian/watch fiona-1.8.20/debian/watch --- fiona-1.8.18/debian/watch 2020-11-06 17:45:56.000000000 +0000 +++ fiona-1.8.20/debian/watch 2021-03-20 07:31:49.000000000 +0000 @@ -4,4 +4,4 @@ uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|b|beta|a|alpha)\d*)$/$1~$2/,\ filenamemangle=s/(?:.*?\/)?(?:rel|r|v|fiona)?[\-\_]?(\d\S+)\.(tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))/fiona-$1.$2/ \ https://github.com/Toblerity/Fiona/releases \ -(?:.*/archive/)?(?:rel|r|v|fiona)?[\-\_]?(\d\S+(?logging_error_handler) - log.debug("Logging error handler pushed.") # The outer if statement prevents each thread from acquiring a # lock when the environment starts, and the inner avoids a @@ -404,41 +403,53 @@ GDALAllRegister() OGRRegisterAll() - log.debug("All drivers registered.") if 'GDAL_DATA' in os.environ: + log.debug("GDAL_DATA found in environment.") self.update_config_options(GDAL_DATA=os.environ['GDAL_DATA']) - log.debug("GDAL_DATA found in environment: %r.", os.environ['GDAL_DATA']) - - # See https://github.com/mapbox/rasterio/issues/1631. - elif GDALDataFinder().find_file("header.dxf"): - log.debug("GDAL data files are available at built-in paths") else: - path = GDALDataFinder().search() + path = GDALDataFinder().search_wheel() if path: + log.debug("GDAL data found in package: path=%r.", path) self.update_config_options(GDAL_DATA=path) - log.debug("GDAL_DATA not found in environment, set to %r.", path) + + # See https://github.com/mapbox/rasterio/issues/1631. + elif GDALDataFinder().find_file("header.dxf"): + log.debug("GDAL data files are available at built-in paths.") + + else: + path = GDALDataFinder().search() + + if path: + log.debug("GDAL data found in other locations: path=%r.", path) + self.update_config_options(GDAL_DATA=path) if 'PROJ_LIB' in os.environ: - log.debug("PROJ_LIB found in environment: %r.", os.environ['PROJ_LIB']) + log.debug("PROJ_LIB found in environment.") path = os.environ["PROJ_LIB"] set_proj_data_search_path(path) - elif PROJDataFinder().has_data(): - log.debug("PROJ data files are available at built-in paths") - else: - path = PROJDataFinder().search() + path = PROJDataFinder().search_wheel() if path: - log.debug("PROJ data not found in environment, setting to %r.", path) + log.debug("PROJ data found in package: path=%r.", path) set_proj_data_search_path(path) + elif PROJDataFinder().has_data(): + log.debug("PROJ data files are available at built-in paths.") + + else: + path = PROJDataFinder().search() + + if path: + log.debug("PROJ data found in other locations: path=%r.", path) + set_proj_data_search_path(path) + if driver_count() == 0: CPLPopErrorHandler() - log.debug("Error handler popped") raise ValueError("Drivers not registered.") # Flag the drivers as registered, otherwise every thread @@ -447,7 +458,7 @@ # actually makes it this far. self._have_registered_drivers = True - log.debug("Started GDALEnv %r.", self) + log.debug("Started GDALEnv: self=%r.", self) def stop(self): # NB: do not restore the CPL error handler to its default diff -Nru fiona-1.8.18/fiona/__init__.py fiona-1.8.20/fiona/__init__.py --- fiona-1.8.18/fiona/__init__.py 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/fiona/__init__.py 2021-05-31 21:29:33.000000000 +0000 @@ -105,7 +105,7 @@ __all__ = ['bounds', 'listlayers', 'open', 'prop_type', 'prop_width'] -__version__ = "1.8.18" +__version__ = "1.8.20" __gdal_version__ = get_gdal_release_name() gdal_version = get_gdal_version_tuple() diff -Nru fiona-1.8.18/fiona/ogrext.pyx fiona-1.8.20/fiona/ogrext.pyx --- fiona-1.8.18/fiona/ogrext.pyx 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/fiona/ogrext.pyx 2021-05-31 21:29:33.000000000 +0000 @@ -1438,6 +1438,7 @@ # Set OGR_L_SetNextByIndex only if within range if start >= 0 and (self.ftcount == -1 or self.start < self.ftcount): exc_wrap_int(OGR_L_SetNextByIndex(session.cogr_layer, self.next_index)) + session.cursor_interrupted = False def __iter__(self): return self @@ -1467,7 +1468,7 @@ # Set read cursor to next_item position if session.cursor_interrupted: - if not self.fastindex: + if not self.fastindex and not self.next_index == 0: warnings.warn("Sequential read of iterator was interrupted. Resetting iterator. " "This can negatively impact the performance.", RuntimeWarning) exc_wrap_int(OGR_L_SetNextByIndex(session.cogr_layer, self.next_index)) diff -Nru fiona-1.8.18/.github/workflows/ci_linux.yml fiona-1.8.20/.github/workflows/ci_linux.yml --- fiona-1.8.18/.github/workflows/ci_linux.yml 1970-01-01 00:00:00.000000000 +0000 +++ fiona-1.8.20/.github/workflows/ci_linux.yml 2021-05-31 21:29:33.000000000 +0000 @@ -0,0 +1,216 @@ +name: Linux CI + +on: [push, pull_request] + +jobs: + build: + name: Python ${{ matrix.python }} / GDAL ${{ matrix.GDALVERSION }} / PROJ ${{ matrix.PROJVERSION }} + runs-on: [ubuntu-18.04] + if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" + strategy: + fail-fast: false + matrix: + include: + # Test all supported gdal minor versions (except latest stable) with one python version + - { + python: 3.6, + GDALVERSION: "2.0.3", + PROJVERSION: "4.9.3", + allow_failure: "false", + } + - { + python: 3.6, + GDALVERSION: "2.1.4", + PROJVERSION: "4.9.3", + allow_failure: "false", + } + - { + python: 3.6, + GDALVERSION: "2.2.4", + PROJVERSION: "4.9.3", + allow_failure: "false", + } + - { + python: 3.6, + GDALVERSION: "2.3.3", + PROJVERSION: "4.9.3", + allow_failure: "false", + } + - { + python: 3.6, + GDALVERSION: "2.4.4", + PROJVERSION: "4.9.3", + allow_failure: "false", + } + - { + python: 3.6, + GDALVERSION: "3.0.4", + PROJVERSION: "6.2.1", + allow_failure: "false", + } + - { + python: 3.6, + GDALVERSION: "3.1.0", + PROJVERSION: "6.3.2", + allow_failure: "false", + } + + # Test all supported python versions with latest stable gdal release + - { + python: 3.6, + GDALVERSION: "3.2.1", + PROJVERSION: "7.2.1", + allow_failure: "false", + } + - { + python: 3.7, + GDALVERSION: "3.2.1", + PROJVERSION: "7.2.1", + allow_failure: "false", + } + - { + python: 3.8, + GDALVERSION: "3.2.1", + PROJVERSION: "7.2.1", + allow_failure: "false", + } + - { + python: 3.9, + GDALVERSION: "3.2.1", + PROJVERSION: "7.2.1", + allow_failure: "false", + } + + # Test GDAL master + - { + python: 3.6, + GDALVERSION: "master", + PROJVERSION: "7.2.1", + allow_failure: "true", + } + + env: + CYTHON_COVERAGE: "true" + MAKEFLAGS: "-j 4 -s" + CXXFLAGS: "-O0" + CFLAGS: "-O0" + PROJVERSION: ${{ matrix.PROJVERSION }} + GDALVERSION: ${{ matrix.GDALVERSION }} + GDALINST: ${{ github.workspace }}/gdalinstall + GDALBUILD: ${{ github.workspace }}/gdalbuild + PROJINST: ${{ github.workspace }}/gdalinstall + PROJBUILD: ${{ github.workspace }}/projbuild + FILEGDB: ${{ github.workspace }}/gdalinstall/filegdb + + # Emulate travis + TRAVIS_BUILD_DIR: ${{ github.workspace }} + TRAVIS_OS_NAME: "linux" + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + + - name: Set env variables + run: | + + # Additional env variables + echo "GDAL_DATA=$GDALINST/gdal-$GDALVERSION/share/gdal" >> $GITHUB_ENV + echo "PROJ_LIB=$GDALINST/gdal-$GDALVERSION/share/proj" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=$GDALINST/gdal-$GDALVERSION/lib:$GDALINST/proj-$PROJVERSION/lib:$FILEGDB/lib:\$LD_LIBRARY_PATH" >> $GITHUB_ENV + + # Add PATH + echo "$GDALINST/gdal-$GDALVERSION/bin" >> $GITHUB_PATH + echo "$GDALINST/proj-$PROJVERSION/bin" >> $GITHUB_PATH + + echo "cat \$GITHUB_ENV" + cat $GITHUB_ENV + echo "" + echo "cat \$GITHUB_PATH" + cat $GITHUB_PATH + + - name: Install apt packages + run: | + sudo apt-get install libatlas-base-dev libcurl4-openssl-dev libgeos-dev libfreexl-dev libzstd-dev libspatialite-dev + + # Unlike travis, packages from non default repositories are installed. + # While default repositories e.g. bionic/universe or bionic/main) tend to keep packages at the same API / ABI level, + # this is not guaranteed with other repositories. + # The following command creates a list of these packages, which is used as key for the GDAL cache + # The repositories of packages can be identified in the the output of `sudo apt-get install` + apt list --installed | grep 'libgeos-dev\|libxml2-dev' > $GITHUB_WORKSPACE/apt_list + cat $GITHUB_WORKSPACE/apt_list + + - name: Cache GDAL binaries + uses: actions/cache@v2 + with: + path: gdalinstall + key: ${{ runner.os }}-gdal-${{ matrix.GDALVERSION }}-proj-${{ matrix.PROJVERSION }}-${{ hashFiles('**/apt_list') }} + + - name: Cache pip + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install Python dependencies + run: | + python -m pip install -U pip + python -m pip install -U wheel + python -m pip install -r requirements-ci.txt + python -m pip wheel -r requirements-dev.txt + python -m pip install -r requirements-dev.txt + + - name: Build PROJ + run: | + chmod +x scripts/travis_proj_install.sh && ./scripts/travis_proj_install.sh + + - name: Install FileGDB + run: | + chmod +x scripts/travis_filegdb_install.sh && ./scripts/travis_filegdb_install.sh + + - name: Build GDAL + continue-on-error: ${{ matrix.allow_failure == 'true' }} + run: | + chmod +x scripts/travis_gdal_install.sh && ./scripts/travis_gdal_install.sh + gdal-config --version + + - name: Build Fiona + continue-on-error: ${{ matrix.allow_failure == 'true' }} + run: | + if [ "$GDALVERSION" = "master" ]; then echo "Using gdal master"; elif [ $($GDALINST/gdal-$GDALVERSION/bin/gdal-config --version) == $(sed 's/[a-zA-Z].*//g' <<< $GDALVERSION) ]; then echo "Using gdal $GDALVERSION"; else echo "NOT using gdal $GDALVERSION as expected; aborting"; exit 1; fi + GDAL_CONFIG=$GDALINST/gdal-$GDALVERSION/bin/gdal-config python -m pip install --no-deps --force-reinstall --no-use-pep517 -e . + + - name: Print Environment + continue-on-error: ${{ matrix.allow_failure == 'true' }} + run: | + echo "python -m pip freeze" + python -m pip freeze + + echo "" + echo "fio --version" + fio --version + + echo "" + echo "fio --gdal-version" + fio --gdal-version + + echo "" + echo "python -c \"import fiona; fiona.show_versions()\"" + python -c "import fiona; fiona.show_versions()" + + - name: pytest + continue-on-error: ${{ matrix.allow_failure == 'true' }} + run: | + GDAL_ENABLE_DEPRECATED_DRIVER_GTM=YES python -m pytest -m "not wheel" --cov fiona --cov-report term-missing + + - name: Coveralls + continue-on-error: ${{ matrix.allow_failure == 'true' }} + run: coveralls || echo "!! intermittent coveralls failure" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff -Nru fiona-1.8.18/pyproject.toml fiona-1.8.20/pyproject.toml --- fiona-1.8.18/pyproject.toml 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/pyproject.toml 2021-05-31 21:29:33.000000000 +0000 @@ -1,3 +1,2 @@ [build-system] -# Minimum requirements for the build system to execute. -requires = ["setuptools", "wheel", "cython"] +requires = ["setuptools", "wheel", "cython==0.29.21", "oldest-supported-numpy"] diff -Nru fiona-1.8.18/README.rst fiona-1.8.20/README.rst --- fiona-1.8.18/README.rst 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/README.rst 2021-05-31 21:29:33.000000000 +0000 @@ -4,8 +4,8 @@ Fiona is GDAL_'s neat and nimble vector API for Python programmers. -.. image:: https://travis-ci.org/Toblerity/Fiona.png?branch=master - :target: https://travis-ci.org/Toblerity/Fiona +.. image:: https://github.com/Toblerity/Fiona/workflows/Linux%20CI/badge.svg?branch=maint-1.8 + :target: https://github.com/Toblerity/Fiona/actions?query=branch%3Amaint-1.8 .. image:: https://ci.appveyor.com/api/projects/status/github/Toblerity/Fiona?svg=true :target: https://ci.appveyor.com/project/sgillies/fiona/branch/master diff -Nru fiona-1.8.18/setup.py fiona-1.8.20/setup.py --- fiona-1.8.18/setup.py 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/setup.py 2021-05-31 21:29:33.000000000 +0000 @@ -285,11 +285,12 @@ requirements = [ 'attrs>=17', 'certifi', - 'click>=4.0,<8', + 'click>=4.0', 'cligj>=0.5', 'click-plugins>=1.0', 'six>=1.7', 'munch', + "setuptools", 'argparse; python_version < "2.7"', 'ordereddict; python_version < "2.7"', 'enum34; python_version < "3.4"' diff -Nru fiona-1.8.18/tests/test_drvsupport.py fiona-1.8.20/tests/test_drvsupport.py --- fiona-1.8.18/tests/test_drvsupport.py 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/tests/test_drvsupport.py 2021-05-31 21:29:33.000000000 +0000 @@ -102,6 +102,8 @@ Some driver only allow a specific schema. These drivers can be excluded by adding them to blacklist_append_drivers. """ + if driver == "DGN": + pytest.xfail("DGN schema has changed") if driver == "BNA" and GDALVersion.runtime() < GDALVersion(2, 0): pytest.skip("BNA driver segfaults with gdal 1.11") diff -Nru fiona-1.8.18/tests/test_open.py fiona-1.8.20/tests/test_open.py --- fiona-1.8.18/tests/test_open.py 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/tests/test_open.py 2021-05-31 21:29:33.000000000 +0000 @@ -55,4 +55,5 @@ fd.seek(0) with fiona.open(fd) as src: + assert src.driver == "GPKG" assert src.crs == {"init": "epsg:32611"} diff -Nru fiona-1.8.18/.travis.yml fiona-1.8.20/.travis.yml --- fiona-1.8.18/.travis.yml 2020-11-17 16:59:31.000000000 +0000 +++ fiona-1.8.20/.travis.yml 1970-01-01 00:00:00.000000000 +0000 @@ -1,124 +0,0 @@ -language: python -dist: xenial -# default gcc of bionic does not compile gdal 1.x - -cache: - directories: - - $GDALINST - - ~/.cache/pip - -env: - global: - - PIP_WHEEL_DIR=$HOME/.cache/pip/wheels - - PIP_FIND_LINKS=file://$HOME/.cache/pip/wheels - - GDALINST=$HOME/gdalinstall - - GDALBUILD=$HOME/gdalbuild - - PROJINST=$HOME/gdalinstall - - PROJBUILD=$HOME/projbuild - - FILEGDB=$HOME/gdalinstall/filegdb - - CYTHON_COVERAGE="true" - - MAKEFLAGS="-j 2" - - CXXFLAGS="-O0" - - CFLAGS="-O0" - -matrix: - include: - # Test all supported gdal minor versions (except latest stable) with one python version - - python: "3.6" - env: - GDALVERSION="1.11.5" - PROJVERSION="4.8.0" - - python: "3.6" - env: - GDALVERSION="2.0.3" - PROJVERSION="4.9.3" - - python: "3.6" - env: - GDALVERSION="2.1.4" - PROJVERSION="4.9.3" - - python: "3.6" - env: - GDALVERSION="2.2.4" - PROJVERSION="4.9.3" - - python: "3.6" - env: - GDALVERSION="2.3.3" - PROJVERSION="4.9.3" - - python: "3.6" - env: - GDALVERSION="2.4.4" - PROJVERSION="4.9.3" - - python: "3.6" - env: - GDALVERSION="3.0.4" - PROJVERSION="6.2.1" - - # Test all supported python versions with latest stable gdal release - - python: "2.7" - env: - GDALVERSION="3.1.3" - PROJVERSION="6.3.2" - - python: "3.6" - env: - GDALVERSION="3.1.3" - PROJVERSION="6.3.2" - - python: "3.7" - env: - GDALVERSION="3.1.3" - PROJVERSION="6.3.2" - - python: "3.8" - env: - GDALVERSION="3.1.3" - PROJVERSION="6.3.2" - - # Test master - - python: "3.8" - env: - GDALVERSION="master" - PROJVERSION="7.0.1" - - allow_failures: - - env: - GDALVERSION="master" - PROJVERSION="7.0.1" - -addons: - apt: - packages: - - libatlas-dev - - libatlas-base-dev - - gfortran - - libsqlite3-dev - - sqlite3 - -before_install: - - python -m pip install -U pip - - python -m pip install -r requirements-ci.txt - - python -m pip wheel -r requirements-dev.txt - - python -m pip install -r requirements-dev.txt - - export PATH=$GDALINST/gdal-$GDALVERSION/bin:$GDALINST/proj-$PROJVERSION/bin:$PATH - - export LD_LIBRARY_PATH=$GDALINST/gdal-$GDALVERSION/lib:$GDALINST/proj-$PROJVERSION/lib:$LD_LIBRARY_PATH - - . ./scripts/travis_proj_install.sh - - . ./scripts/travis_filegdb_install.sh - - . ./scripts/travis_gdal_install.sh - - export GDAL_DATA=$GDALINST/gdal-$GDALVERSION/share/gdal - - export PROJ_LIB=$GDALINST/gdal-$GDALVERSION/share/proj - - gdal-config --version - -install: - - if [ "$GDALVERSION" = "master" ]; then echo "Using gdal master"; elif [ $(gdal-config --version) == $(sed 's/[a-zA-Z].*//g' <<< $GDALVERSION) ]; then echo "Using gdal $GDALVERSION"; else echo "NOT using gdal $GDALVERSION as expected; aborting"; exit 1; fi - - "GDAL_CONFIG=$GDALINST/gdal-$GDALVERSION/bin/gdal-config python -m pip install --no-deps --force-reinstall --no-use-pep517 -e ." - - python -m pip freeze - - fio --version - - fio --gdal-version - - python -c "import fiona; fiona.show_versions()" - - python scripts/check_deprecated.py - -script: - - python -m pytest -m "not wheel" --cov fiona --cov-report term-missing - -after_script: - - python setup.py clean - -after_success: - - coveralls || echo "!! intermittent coveralls failure"