[Git][debian-gis-team/pysolid][master] 6 commits: New upstream version 0.3.4

Antonio Valentino (@antonio.valentino) gitlab at salsa.debian.org
Sat Jan 24 18:36:54 GMT 2026



Antonio Valentino pushed to branch master at Debian GIS Project / pysolid


Commits:
d1e3f447 by Antonio Valentino at 2026-01-24T18:26:53+00:00
New upstream version 0.3.4
- - - - -
bad2d08f by Antonio Valentino at 2026-01-24T18:26:55+00:00
Update upstream source from tag 'upstream/0.3.4'

Update to upstream version '0.3.4'
with Debian dir db7a977c5710516057e30cb2bac9e2ddf8d838fc
- - - - -
c58b60f9 by Antonio Valentino at 2026-01-24T18:27:28+00:00
New upstream release

- - - - -
1962d8e8 by Antonio Valentino at 2026-01-24T18:28:26+00:00
Refresh all parches

- - - - -
69323913 by Antonio Valentino at 2026-01-24T18:29:18+00:00
Update dates in d/copyright

- - - - -
c21bbd23 by Antonio Valentino at 2026-01-24T18:29:56+00:00
Set distribution to unstable

- - - - -


9 changed files:

- .circleci/config.yml
- .github/workflows/build-and-publish-to-pypi.yml
- README.md
- debian/changelog
- debian/copyright
- debian/patches/0002-No-display.patch
- src/pysolid/solid.for
- tests/grid.py
- tests/point.py


Changes:

=====================================
.circleci/config.yml
=====================================
@@ -14,7 +14,6 @@ workflows:
     jobs:
       - build-and-test
 
-
 jobs:
   build-and-test:  # This is the name of the job, feel free to change it to better match what you're trying to do!
     # These next lines defines a Docker executors: https://circleci.com/docs/2.0/executor-types/
@@ -29,6 +28,8 @@ jobs:
           PYSOLID_HOME: /root/tools/PySolid
         user: root
     working_directory: /root/tools/PySolid
+    resource_class: medium
+
     # Checkout the code as the first step. This is a dedicated CircleCI step.
     steps:
       - checkout
@@ -36,14 +37,15 @@ jobs:
           name: Setting Environment with Miniforge
           command: |
             apt update
-            apt-get update --yes && apt-get upgrade --yes
+            apt-get update && apt-get upgrade --yes
             apt-get install --yes wget git
-            # download and install miniforge
+            # install miniforge (https://github.com/conda-forge/miniforge?tab=readme-ov-file#as-part-of-a-ci-pipeline)
             mkdir -p ${HOME}/tools
             cd ${HOME}/tools
-            wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
-            bash Miniforge3-Linux-x86_64.sh -b -p ${HOME}/tools/miniforge
-            ${HOME}/tools/miniforge/bin/mamba init bash
+            wget -O Miniforge3.sh "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
+            bash Miniforge3.sh -b -p ${HOME}/tools/miniforge
+            source "${HOME}/tools/miniforge/etc/profile.d/conda.sh"
+            source "${HOME}/tools/miniforge/etc/profile.d/mamba.sh"
             # modify/export env var PATH to BASH_ENV to be shared across run steps
             echo 'export PATH=${CONDA_PREFIX}/bin:${PATH}' >> ${BASH_ENV}
 


=====================================
.github/workflows/build-and-publish-to-pypi.yml
=====================================
@@ -17,24 +17,22 @@ jobs:
       fail-fast: false
       matrix:
         # skip building wheel for windows as it's not working yet
-        os: [ubuntu-latest, macos-13]  #windows-2019
+        os: [ubuntu-latest, macos-latest]  #windows-2019
 
     steps:
       - uses: actions/checkout at v4
         with:
           fetch-depth: 0
 
-      - name: Provide gfortran (macOS-13)
+      - name: Symlink gfortran (macOS)
         if: runner.os == 'macOS'
         run: |
-          # https://github.com/actions/virtual-environments/issues/2524
-          # https://github.com/cbg-ethz/dce/blob/master/.github/workflows/pkgdown.yaml
-          sudo ln -s /usr/local/bin/gfortran-13 /usr/local/bin/gfortran
-          sudo mkdir /usr/local/gfortran
-          sudo ln -s /usr/local/Cellar/gcc at 13/*/lib/gcc/13 /usr/local/gfortran/lib
+          brew install gcc
+          fc_files=( $(brew --prefix)/bin/gfortran-* )
+          sudo ln -sf "${fc_files[@]: -1}" /usr/local/bin/gfortran
           gfortran --version
 
-      - name: Provide gfortran (Windows)
+      - name: Symlink gfortran (Windows)
         if: runner.os == 'Windows'
         uses: msys2/setup-msys2 at v2
 
@@ -44,11 +42,11 @@ jobs:
           echo "[build]`ncompiler=mingw32" | Out-File -Encoding ASCII ~/pydistutils.cfg
 
       - name: Build wheels
-        uses: pypa/cibuildwheel at v2.19.1
+        uses: pypa/cibuildwheel at v3.3.1
         env:
           # Disable building for PyPy and 32bit.
           CIBW_SKIP: pp* *-win32 *-manylinux_i686
-          CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET="13.0"
+          CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET="15.0"
           CIBW_BEFORE_BUILD_MACOS: python -m pip install --upgrade pip
           # Package the DLL dependencies in the wheel for windows (done by default for the other platforms).
           # delvewheel cannot mangle the libraries, stripping does not work.


=====================================
README.md
=====================================
@@ -48,7 +48,7 @@ conda install -c conda-forge fortran-compiler --file PySolid/requirements.txt --
 conda create --name pysolid fortran-compiler --file PySolid/requirements.txt --file PySolid/tests/requirements.txt
 conda activate pysolid
 
-# option 3: have a Fortran compiler already installed and use pip to install the rest dependencies
+# option 3: have a Fortran compiler already installed and use pip to install the dependencies
 python -m pip install -r PySolid/requirements.txt -r PySolid/tests/requirements.txt
 ```
 
@@ -56,15 +56,16 @@ python -m pip install -r PySolid/requirements.txt -r PySolid/tests/requirements.
 
 ```bash
 # option 1: use pip to install pysolid into the current environment
-python -m pip install PySolid
+python -m pip install ./PySolid
 
 # option 2: use pip to install pysolid in develop mode (editable) into the current environment
-python -m pip install -e PySolid
+python -m pip install -e ./PySolid
 
 # option 3: manually compile the Fortran code and setup environment variable
 cd PySolid/src/pysolid
 f2py -c -m solid solid.for
-export PYTHONPATH=${PYTHONPATH}:~/tools/PySolid
+# Replace <path-to-folder> with proper path to PySolid main folder
+export PYTHONPATH=${PYTHONPATH}:<path-to-folder>/PySolid/src
 ```
 
 ##### d. Test the installation


=====================================
debian/changelog
=====================================
@@ -1,6 +1,6 @@
-pysolid (0.3.3-2) UNRELEASED; urgency=medium
+pysolid (0.3.4-1) unstable; urgency=medium
 
-  * Team upload.
+  [ Bas Couwenberg ]
   * Bump Standards-Version to 4.7.3, no changes.
   * Update lintian overrides.
   * Drop Rules-Requires-Root: no, default since dpkg 1.22.13.
@@ -8,7 +8,13 @@ pysolid (0.3.3-2) UNRELEASED; urgency=medium
   * Use debrebuild instead of reprotest.
   * Drop Priority: optional, default since dpkg 1.22.13.
 
- -- Bas Couwenberg <sebastic at debian.org>  Sun, 28 Jul 2024 19:55:53 +0200
+  [ Antonio Valentino ]
+  * New upstream release.
+  * debian/patches:
+    - Refresh all patches.
+  * Update dates in d/copyright.
+
+ -- Antonio Valentino <antonio.valentino at tiscali.it>  Sat, 24 Jan 2026 18:29:37 +0000
 
 pysolid (0.3.3-1) unstable; urgency=medium
 


=====================================
debian/copyright
=====================================
@@ -8,7 +8,7 @@ Copyright: 2020, the California Institute of Technology
 License: GPL-3+
 
 Files: debian/*
-Copyright: 2022-2024, Antonio Valentino <antonio.valentino at tiscali.it>
+Copyright: 2022-2026, Antonio Valentino <antonio.valentino at tiscali.it>
 License: GPL-3+
 
 License: GPL-3+


=====================================
debian/patches/0002-No-display.patch
=====================================
@@ -11,10 +11,10 @@ Forwarded: not-needed
  2 files changed, 20 insertions(+), 18 deletions(-)
 
 diff --git a/tests/grid.py b/tests/grid.py
-index 35e92c9..05bef35 100755
+index 8b5b7ab..f0f7a2d 100755
 --- a/tests/grid.py
 +++ b/tests/grid.py
-@@ -75,12 +75,13 @@ if __name__ == '__main__':
+@@ -76,12 +76,13 @@ if __name__ == '__main__':
          out_fig=out_fig,
          display=False)
  
@@ -38,10 +38,10 @@ index 35e92c9..05bef35 100755
 +        else:
 +            print(f'Unknown OS system ({sys.platform}). Check results in file: {out_fig}.')
 diff --git a/tests/point.py b/tests/point.py
-index d17686d..a172b6c 100755
+index 904bb3b..7072fa7 100755
 --- a/tests/point.py
 +++ b/tests/point.py
-@@ -75,12 +75,13 @@ if __name__ == '__main__':
+@@ -76,12 +76,13 @@ if __name__ == '__main__':
          out_fig=out_fig,
          display=False)
  


=====================================
src/pysolid/solid.for
=====================================
@@ -3,8 +3,8 @@
 *** Author: Dennis Milbert, 2018-06-01. The code is available at:
 ***     http://geodesyworld.github.io/SOFTS/solid.htm and can be downloaded as:
 ***     wget http://geodesyworld.github.io/SOFTS/solid.for.txt -O solid.for
-*** The code is based on dehanttideinel.f provided by V. Dehant, S. Mathews, 
-***     J. Gipson and C. Bruyninx. The latest version of dehanttideinel.f and its 
+*** The code is based on dehanttideinel.f provided by V. Dehant, S. Mathews,
+***     J. Gipson and C. Bruyninx. The latest version of dehanttideinel.f and its
 ***     dependent subroutines can be download from IERS conventions website as:
 ***     wget -r -l1 --no-parent -R "index.html*" -nH --cut-dirs=3 https://iers-conventions.obspm.fr/content/chapter7/software/dehanttideinel
 *** Sep 2020: modify solid() to solid_point/grid() as subroutines, Z. Yunjun and S. Sangha.
@@ -12,7 +12,7 @@
 
       subroutine solid_grid(iyr,imo,idy,ihh,imm,iss,
      * glad0,steplat,nlat,glod0,steplon,nlon,tide_e,tide_n,tide_u)
- 
+
 *** calculate solid earth tides (SET) for one spatial grid given the date/time
 *** Arguments: iyr/imo/idy/ihh/imm/iss - int, date/time for YYYY/MM/DD/HH/MM/SS
 ***            glad0/glad1/steplat     - float, north(Y_FIRST)/south/step(negative) in deg
@@ -154,7 +154,7 @@
 
 *** end of processing and flag for leap second
 
-      if(lflag) then
+      if(.false.) then
         print *, 'Mild Warning -- time crossed leap second table'
         print *, '  boundaries.  Boundary edge value used instead'
       endif
@@ -293,7 +293,7 @@
 
 *** end of processing and flag of leap second
 
-      if(lflag) then
+      if(.false.) then
         print *, 'Mild Warning -- time crossed leap second table'
         print *, '  boundaries.  Boundary edge value used instead'
       endif
@@ -488,9 +488,9 @@
 * The code below is commented to prevent restoring deformation
 * due to permanent tide.  All the code above removes
 * total tidal deformation with conventional Love numbers.
-* The code above realizes a conventional tide free crust (i.e. ITRF). 
+* The code above realizes a conventional tide free crust (i.e. ITRF).
 * This does NOT conform to Resolution 16 of the 18th General Assembly
-* of the IAG (1983).  This resolution has not been implemented by 
+* of the IAG (1983).  This resolution has not been implemented by
 * the space geodesy community in general (c.f. IERS Conventions 2003).
 *-----------------------------------------------------------------------
 
@@ -1235,16 +1235,16 @@
 
       implicit double precision(a-h,o-z)
       double precision u,v,w,ra,az,va
-      
+
       s2=u*u+v*v
       r2=s2+w*w
-      
+
       s =dsqrt(s2)
       ra=dsqrt(r2)
-      
+
       az=datan2(v,u)
       va=datan2(w,s)
-      
+
       return
       end
 *-----------------------------------------------------------------------
@@ -1290,38 +1290,38 @@
       end
 *-----------------------------------------------------------------------
       subroutine rot1(theta,x,y,z,u,v,w)
-      
+
 *** rotate coordinate axes about 1 axis by angle of theta radians
 *** x,y,z transformed into u,v,w
 
       implicit double precision(a-h,o-z)
       double precision theta,x,y,z,u,v,w
-      
+
       s=dsin(theta)
       c=dcos(theta)
-            
+
       u=x
       v=c*y+s*z
       w=c*z-s*y
-            
+
       return
       end
 *-----------------------------------------------------------------------
       subroutine rot3(theta,x,y,z,u,v,w)
-      
+
 *** rotate coordinate axes about 3 axis by angle of theta radians
 *** x,y,z transformed into u,v,w
 
       implicit double precision(a-h,o-z)
       double precision theta,x,y,z,u,v,w
-      
+
       s=dsin(theta)
       c=dcos(theta)
-            
+
       u=c*x+s*y
       v=c*y-s*x
       w=z
-            
+
       return
       end
 ************************************************************************
@@ -1559,9 +1559,9 @@
 
       implicit double precision(a-h,o-z)
       double precision tsec
-      !*** upper limit, leap second table, 2024jun28
+      !*** upper limit, leap second table, 2025dec28
       !*** lower limit, leap second table, 1972jan01
-      parameter(MJDUPPER=60489)
+      parameter(MJDUPPER=61037)
       parameter(MJDLOWER=41317)
 
       !*** leap second table limit flag
@@ -1610,7 +1610,7 @@
         return
       endif
 
-***** http://maia.usno.navy.mil/ser7/tai-utc.dat
+***** https://maia.usno.navy.mil/ser7/tai-utc.dat
 *** 1972 JAN  1 =JD 2441317.5  TAI-UTC=  10.0s
 *** 1972 JUL  1 =JD 2441499.5  TAI-UTC=  11.0s
 *** 1973 JAN  1 =JD 2441683.5  TAI-UTC=  12.0s
@@ -1642,7 +1642,7 @@
 ***** other leap second references at:
 ***** http://hpiers.obspm.fr/eoppc/bul/bulc/Leap_Second_History.dat
 ***** http://hpiers.obspm.fr/eoppc/bul/bulc/bulletinc.dat
-***** File expires on 28 June 2024
+***** File expires on 28 December 2025
 
 *** test against newest leaps first
 


=====================================
tests/grid.py
=====================================
@@ -64,6 +64,7 @@ if __name__ == '__main__':
     assert np.allclose(tide_e[::80, ::100], tide_e_80_100)
     assert np.allclose(tide_n[::80, ::100], tide_n_80_100)
     assert np.allclose(tide_u[::80, ::100], tide_u_80_100)
+    print('Pass.')
 
     # plot
     out_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'pic'))


=====================================
tests/point.py
=====================================
@@ -63,6 +63,7 @@ if __name__ == '__main__':
     assert np.allclose(tide_e[::8000], tide_e_8000)
     assert np.allclose(tide_n[::8000], tide_n_8000)
     assert np.allclose(tide_u[::8000], tide_u_8000)
+    print('Pass.')
 
     # plot
     out_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'pic'))



View it on GitLab: https://salsa.debian.org/debian-gis-team/pysolid/-/compare/fffe73ea2b7f7e6a4de81cc3662ee520b40b0234...c21bbd23f66809d25ad1329a3b6e076e3b173ae9

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/pysolid/-/compare/fffe73ea2b7f7e6a4de81cc3662ee520b40b0234...c21bbd23f66809d25ad1329a3b6e076e3b173ae9
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20260124/59605d8d/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list