Skip to content

Commit 3d69500

Browse files
authored
Merge pull request #669 from wannier-developers/develop
merge v4 into master: release 4.0.2
2 parents 1d6b187 + 7129b45 commit 3d69500

1,474 files changed

Lines changed: 893874 additions & 247712 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cla/version1/CLA.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Contributor License Agreement
2+
3+
Thank you for your interest in contributing to the open-source Wannier90 project (“The Project”). The Project consists of the codes, documentation, examples and other materials that are within the wannier-developers organization on Github (URL: https://github.com/wannier-developers) and the repositories therein.
4+
5+
By contributing to The Project, you agree to fully delegate to the Wannier Developers Group the authority to determine the way in which The Project, or individual parts of The Project, and their derivatives, are licensed (which, in future, may be different to the current licenses).
6+
7+
By accepting your contribution to The Project, the Wannier Developers Group commits to act within the spirit of the key aim of maximizing the widespread adoption of The Project.

.cla/version1/signatures.json

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
{
2+
"signedContributors": [
3+
{
4+
"name": "qiaojunfeng",
5+
"id": 22841309,
6+
"comment_id": 4068938910,
7+
"created_at": "2026-03-16T16:22:54Z",
8+
"repoId": 61329351,
9+
"pullRequestNo": 597
10+
},
11+
{
12+
"name": "JeromeCCP9",
13+
"id": 65367597,
14+
"comment_id": 4068964626,
15+
"created_at": "2026-03-16T16:27:00Z",
16+
"repoId": 61329351,
17+
"pullRequestNo": 597
18+
},
19+
{
20+
"name": "elinscott",
21+
"id": 24315023,
22+
"comment_id": 4089840485,
23+
"created_at": "2026-03-19T12:36:49Z",
24+
"repoId": 61329351,
25+
"pullRequestNo": 595
26+
},
27+
{
28+
"name": "LecrisUT",
29+
"id": 25577083,
30+
"comment_id": 4090666743,
31+
"created_at": "2026-03-19T14:47:07Z",
32+
"repoId": 61329351,
33+
"pullRequestNo": 602
34+
},
35+
{
36+
"name": "giovannipizzi",
37+
"id": 16132028,
38+
"comment_id": 4128829775,
39+
"created_at": "2026-03-25T18:28:30Z",
40+
"repoId": 61329351,
41+
"pullRequestNo": 598
42+
},
43+
{
44+
"name": "the-hampel",
45+
"id": 21337117,
46+
"comment_id": 4133568495,
47+
"created_at": "2026-03-26T10:48:35Z",
48+
"repoId": 61329351,
49+
"pullRequestNo": 612
50+
},
51+
{
52+
"name": "jryates",
53+
"id": 19984219,
54+
"comment_id": 4134042858,
55+
"created_at": "2026-03-26T11:58:51Z",
56+
"repoId": 61329351,
57+
"pullRequestNo": 615
58+
},
59+
{
60+
"name": "mostofi",
61+
"id": 5786138,
62+
"comment_id": 4137147005,
63+
"created_at": "2026-03-26T18:09:47Z",
64+
"repoId": 61329351,
65+
"pullRequestNo": 618
66+
},
67+
{
68+
"name": "henriquemiranda",
69+
"id": 5531862,
70+
"comment_id": 4144004504,
71+
"created_at": "2026-03-27T17:01:33Z",
72+
"repoId": 61329351,
73+
"pullRequestNo": 623
74+
},
75+
{
76+
"name": "manxkim",
77+
"id": 46290811,
78+
"comment_id": 4273830433,
79+
"created_at": "2026-04-18T13:58:23Z",
80+
"repoId": 61329351,
81+
"pullRequestNo": 635
82+
},
83+
{
84+
"name": "jaemolihm",
85+
"id": 32537613,
86+
"comment_id": 4346680048,
87+
"created_at": "2026-04-29T18:57:11Z",
88+
"repoId": 61329351,
89+
"pullRequestNo": 636
90+
},
91+
{
92+
"name": "DBJochym",
93+
"id": 48559834,
94+
"comment_id": 4354317991,
95+
"created_at": "2026-04-30T16:36:14Z",
96+
"repoId": 61329351,
97+
"pullRequestNo": 640
98+
},
99+
{
100+
"name": "krystophny",
101+
"id": 149655,
102+
"comment_id": 4685216902,
103+
"created_at": "2026-06-11T21:23:41Z",
104+
"repoId": 61329351,
105+
"pullRequestNo": 644
106+
},
107+
{
108+
"name": "ye-luo",
109+
"id": 1454251,
110+
"comment_id": 4998521881,
111+
"created_at": "2026-07-17T02:53:56Z",
112+
"repoId": 61329351,
113+
"pullRequestNo": 652
114+
},
115+
{
116+
"name": "jimustafa",
117+
"id": 4108888,
118+
"comment_id": 5017264297,
119+
"created_at": "2026-07-19T20:28:43Z",
120+
"repoId": 61329351,
121+
"pullRequestNo": 653
122+
}
123+
]
124+
}

.codecov.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,3 @@ coverage:
77
default:
88
target: 60%
99
threshold: 0.5%
10-
11-

.distro/.fmf/version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1

.distro/plans/full.fmf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
summary: Test the bundled ctests
2+
discover+:
3+
how: fmf
4+
path: test-suite
5+
execute:
6+
how: tmt

.distro/plans/main.fmf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
discover:
2+
how: fmf
3+
4+
adjust+:
5+
# Cannot use initiator: fedora-ci reliably yet
6+
when: initiator is not defined or initiator != packit
7+
discover+:
8+
dist-git-source: true
9+
dist-git-extract: wannier90-*/

.distro/wannier90.rpmlintrc

Whitespace-only changes.

.distro/wannier90.spec

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
Name: wannier90
2+
Summary: Maximally-Localised Generalised Wannier Functions Code
3+
Version: 0.0.0
4+
Release: %autorelease
5+
License: LGPL-2.1-or-later
6+
URL: https://www.wannier.org/
7+
8+
Source: https://github.com/wannier-developers/wannier90/archive/refs/tags/v%{version}.tar.gz
9+
10+
BuildRequires: ninja-build
11+
BuildRequires: cmake
12+
BuildRequires: gcc-fortran
13+
BuildRequires: flexiblas-devel
14+
# Required for testing
15+
BuildRequires: gcc-c++
16+
BuildRequires: python3
17+
18+
%global _description %{expand:
19+
Maximally-Localised Generalised Wannier Functions Code.}
20+
21+
%description
22+
%{_description}
23+
24+
%package devel
25+
Summary: Development files for wannier90
26+
Requires: wannier90%{?_isa} = %{version}-%{release}
27+
28+
%description devel
29+
This package contains the development files for the wannier90 library.
30+
31+
%package openmpi
32+
Summary: Maximally-Localised Generalised Wannier Functions Code - OpenMPI version
33+
BuildRequires: openmpi-devel
34+
35+
%description openmpi
36+
%{_description}
37+
38+
This package contains the OpenMPI parallel version.
39+
40+
%package openmpi-devel
41+
Summary: Development files for wannier90 - OpenMPI version
42+
Requires: wannier90-openmpi%{?_isa} = %{version}-%{release}
43+
44+
%description openmpi-devel
45+
This package contains the development files for the wannier90 (OpenMPI) library.
46+
47+
%package mpich
48+
Summary: Maximally-Localised Generalised Wannier Functions Code - MPICH version
49+
BuildRequires: mpich-devel
50+
51+
%description mpich
52+
%{_description}
53+
54+
This package contains the MPICH parallel version.
55+
56+
%package mpich-devel
57+
Summary: Development files for wannier90 - MPICH version
58+
Requires: wannier90-mpich%{?_isa} = %{version}-%{release}
59+
60+
%description mpich-devel
61+
This package contains the development files for the wannier90 (MPICH) library.
62+
63+
64+
%prep
65+
%autosetup -n wannier90-%{version}
66+
67+
# $MPI_SUFFIX will be evaluated in the loops below, set by mpi modules
68+
%global _vpath_builddir %{_vendor}-%{_target_os}-build${MPI_SUFFIX:-_serial}
69+
# We are running the module load/unload manually until there is a macro-like way to expand this
70+
. /etc/profile.d/modules.sh
71+
72+
73+
%build
74+
cmake_common_args=(
75+
"-G Ninja"
76+
"-DWANNIER90_SHARED_LIBS=ON"
77+
"-DWANNIER90_TEST=ON"
78+
)
79+
for mpi in '' mpich openmpi ; do
80+
if [ -n "$mpi" ]; then
81+
module load mpi/${mpi}-%{_arch}
82+
cmake_mpi_args=(
83+
"-DCMAKE_INSTALL_PREFIX=${MPI_HOME}"
84+
"-DWANNIER90_MPI=ON"
85+
"-DCMAKE_INSTALL_MODULEDIR=${MPI_FORTRAN_MOD_DIR}"
86+
"-DCMAKE_INSTALL_LIBDIR=lib"
87+
)
88+
else
89+
cmake_mpi_args=(
90+
"-DWANNIER90_MPI=OFF"
91+
"-DCMAKE_INSTALL_MODULEDIR=%{_fmoddir}"
92+
)
93+
fi
94+
95+
%cmake \
96+
${cmake_common_args[@]} \
97+
${cmake_mpi_args[@]}
98+
%cmake_build
99+
100+
[ -n "$mpi" ] && module unload mpi/${mpi}-%{_arch}
101+
done
102+
103+
104+
%install
105+
for mpi in '' mpich openmpi ; do
106+
[ -n "$mpi" ] && module load mpi/${mpi}-%{_arch}
107+
%cmake_install
108+
[ -n "$mpi" ] && module unload mpi/${mpi}-%{_arch}
109+
done
110+
111+
112+
%check
113+
for mpi in '' mpich %{?with_openmpi:openmpi} ; do
114+
[ -n "$mpi" ] && module load mpi/${mpi}-%{_arch}
115+
%ctest
116+
[ -n "$mpi" ] && module unload mpi/${mpi}-%{_arch}
117+
done
118+
119+
120+
%files
121+
%doc README.rst
122+
%license LICENSE
123+
%{_libdir}/libwannier90.so.*
124+
%{_bindir}/wannier90.x
125+
%{_bindir}/postw90.x
126+
127+
%files devel
128+
%{_includedir}/wannier90.hh
129+
%{_libdir}/libwannier90.so
130+
%{_fmoddir}/Wannier90/
131+
%{_libdir}/cmake/Wannier90
132+
%{_libdir}/pkgconfig/wannier90.pc
133+
134+
%files openmpi
135+
%{_libdir}/openmpi/bin/wannier90.x
136+
%{_libdir}/openmpi/bin/postw90.x
137+
%{_libdir}/openmpi/lib/libwannier90.so.*
138+
139+
%files openmpi-devel
140+
%{_libdir}/openmpi/include/wannier90.hh
141+
%{_libdir}/openmpi/lib/libwannier90.so
142+
%{_fmoddir}/openmpi/Wannier90/
143+
%{_libdir}/openmpi/lib/cmake/Wannier90
144+
%{_libdir}/openmpi/lib/pkgconfig/wannier90.pc
145+
146+
%files mpich
147+
%{_libdir}/mpich/bin/wannier90.x
148+
%{_libdir}/mpich/bin/postw90.x
149+
%{_libdir}/mpich/lib/libwannier90.so.*
150+
151+
%files mpich-devel
152+
%{_libdir}/mpich/include/wannier90.hh
153+
%{_libdir}/mpich/lib/libwannier90.so
154+
%{_fmoddir}/mpich/Wannier90/
155+
%{_libdir}/mpich/lib/cmake/Wannier90
156+
%{_libdir}/mpich/lib/pkgconfig/wannier90.pc
157+
158+
%changelog
159+
%autochangelog

.gitattributes

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
test-suite/* linguist-vendored
2-
# Add here files that should not be added to the distribution
1+
test-suite/** linguist-vendored
2+
test-suite/tools/** linguist-vendored=false
3+
examples/**/UNK* linguist-vendored
4+
5+
# Add here files that should not be added to the distribution
36
# (via git archive)
47
.gitignore export-ignore
58
/utility/w90pov/**/*.xsf.gz export-ignore

.github/workflows/ci.yaml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: CI
2+
run-name: >
3+
CI (${{ github.event_name }})
4+
${{ github.event_name == 'pull_request' && format('PR#{0}', github.event.number) || '' }}
5+
6+
on:
7+
workflow_dispatch:
8+
pull_request:
9+
branches: [ develop ]
10+
push:
11+
branches: [ develop ]
12+
13+
permissions:
14+
contents: read
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
pre-commit:
22+
name: pre-commit
23+
uses: ./.github/workflows/step_pre-commit.yaml
24+
25+
tests:
26+
name: test
27+
needs: [ pre-commit ]
28+
uses: ./.github/workflows/step_test.yaml
29+
with:
30+
mask-experimental: ${{ github.event_name == 'push' }}
31+
32+
tests-makefile:
33+
name: test Makefile
34+
needs: [ pre-commit ]
35+
uses: ./.github/workflows/step_test-makefile.yaml
36+
37+
docs:
38+
name: 📘 docs
39+
needs: [ pre-commit ]
40+
uses: ./.github/workflows/step_docs.yaml
41+
42+
pass:
43+
name: ✅ Pass
44+
needs: [ pre-commit, tests, tests-makefile, docs ]
45+
runs-on: ubuntu-latest
46+
steps:
47+
- name: Check all CI jobs
48+
uses: re-actors/alls-green@release/v1
49+
with:
50+
jobs: ${{ toJSON(needs) }}
51+
if: always()

0 commit comments

Comments
 (0)