Compare commits

..

108 commits

Author SHA1 Message Date
Benjamin A. Beasley
76223058e8 Update to 9.14.6 (close RHBZ#2428070) 2026-01-08 20:39:08 +00:00
Benjamin A. Beasley
3317693235 Update to 9.14.5 (close RHBZ#2422268) 2025-12-17 06:56:48 +00:00
Benjamin A. Beasley
dcb86aad44 Update to 9.14.4 (close RHBZ#2420467) 2025-12-09 10:50:33 +00:00
Benjamin A. Beasley
ff6c9d4c0f Update to 9.14.3 (close RHBZ#2420015) 2025-12-08 12:13:39 +00:00
Benjamin A. Beasley
10027bf8e1 Update to 9.14.2 (close RHBZ#2419388) 2025-12-07 08:11:38 +00:00
Benjamin A. Beasley
8af8519b46 Remove rpmlintrc filters for duplicate files
These are automatically hardlinked due to
https://fedoraproject.org/wiki/Changes/Hardlink_identical_files_in_packages_by_default,
so we don’t get these warnings anymore.

[skip changelog]
2025-12-07 08:11:38 +00:00
Benjamin A. Beasley
cc9bf40744 Update to 9.13.7 (close RHBZ#2413438) 2025-11-07 22:55:35 +00:00
Benjamin A. Beasley
d7bc3ba40d Update to 9.13.6 (close RHBZ#2413244) 2025-11-06 22:32:53 +00:00
Benjamin A. Beasley
26ec5d763c Update to 9.13.5 (close RHBZ#2412283) 2025-11-04 20:10:09 +00:00
Benjamin A. Beasley
a38036f178 Update to 9.13.4 (close RHBZ#2405879) 2025-10-22 23:24:30 +01:00
Benjamin A. Beasley
b46acc103d Update to 9.13.4 (close RHBZ#2405879) 2025-10-22 23:22:16 +01:00
Benjamin A. Beasley
9622b94e7c Update to 9.13.3 (close RHBZ#2404796) 2025-10-18 07:59:02 +01:00
Benjamin A. Beasley
b33ad800c4 Update to 9.13.2 (close RHBZ#2403372) 2025-10-12 21:31:03 +01:00
Benjamin A. Beasley
5cadab9482 Update to 9.13.1 (close RHBZ#2403281) 2025-10-11 22:44:55 +01:00
Benjamin A. Beasley
e1fc4d3135 Update to 9.13.0 (close RHBZ#2403096) 2025-10-11 09:08:46 +01:00
Benjamin A. Beasley
f1a429bd2b Update to 9.12.0 (close RHBZ#2401452) 2025-10-04 17:19:20 +01:00
Benjamin A. Beasley
d6336b2606 Update to 9.11.9 (close RHBZ#2401257) 2025-10-03 19:45:53 +01:00
Benjamin A. Beasley
9ca79712ed Update to 9.11.8 (close RHBZ#2401000) 2025-10-02 13:04:14 +01:00
Benjamin A. Beasley
a10f95af58 Add snakemake-logger-plugin-rich to bootstrapping docs
[skip changelog]
2025-10-02 06:59:04 +01:00
Benjamin A. Beasley
a29585e0cb Update bootstrapping documentation in the spec file
[skip changelog]
2025-10-02 06:48:15 +01:00
Benjamin A. Beasley
76f30d52d7 Update to 9.11.7 (close RHBZ#2400624) 2025-10-01 11:08:13 +01:00
Benjamin A. Beasley
49ba85d394 Update to 9.11.6 (close RHBZ#2398149) 2025-09-25 20:45:14 +01:00
Benjamin A. Beasley
22ee3e7ef6 Update to 9.11.5 (close RHBZ#2397632) 2025-09-24 14:17:51 +01:00
Benjamin A. Beasley
d982d3f492 Update to 9.11.4 (close RHBZ#2396635) 2025-09-20 07:33:41 +01:00
Python Maint
8b0c20d727 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 14:57:00 +02:00
Benjamin A. Beasley
bf49773d1e Update to 9.11.3 (close RHBZ#2396346) 2025-09-18 11:59:57 +01:00
Benjamin A. Beasley
1bdd3403b6 Allow PuLP 3.3 2025-09-18 10:55:42 +01:00
Benjamin A. Beasley
7d007c5ffc Update to 9.11.2 (close RHBZ#2393854) 2025-09-09 22:10:29 +01:00
Benjamin A. Beasley
5584489725 Update to 9.11.0 (close RHBZ#2393559) 2025-09-06 06:57:49 +01:00
Benjamin A. Beasley
2fbc8e9875 Update to 9.10.1 (close RHBZ#2392414) 2025-09-01 16:58:11 +01:00
Benjamin A. Beasley
85964dac50 Improve bootstrapping instructions in the spec file 2025-08-31 23:48:36 +01:00
Benjamin A. Beasley
c692946a13 Update to 9.10.0 (close RHBZ#2391749) 2025-08-30 01:45:02 +01:00
Python Maint
49c1d62610 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 15:18:19 +02:00
Benjamin A. Beasley
78a56d88dd Update to 9.9.0 (close RHBZ#2384291) 2025-07-29 14:57:22 -04:00
Benjamin A. Beasley
53acdf2f4e Update to 9.8.2 (close RHBZ#2383550) 2025-07-26 07:27:59 -04:00
Fedora Release Engineering
3049cd151a Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 18:28:08 +00:00
Benjamin A. Beasley
6763e6b95c Update to 9.8.1 (close RHBZ#2382290) 2025-07-21 06:54:52 -04:00
Benjamin A. Beasley
6632c47279 Update to 9.8.0 (close RHBZ#2379466) 2025-07-10 22:43:44 -04:00
Benjamin A. Beasley
11f507e8a6 Remove README.packit since we don’t use packit
[skip changelog]
2025-07-10 22:41:33 -04:00
Benjamin A. Beasley
e492debc47 Update to 9.7.1 (close RHBZ#2376436) 2025-07-04 14:38:27 -04:00
Benjamin A. Beasley
e542da4d9f Update to 9.6.2 (close RHBZ#2374535) 2025-06-24 07:40:54 -04:00
Benjamin A. Beasley
2995ff993e Update bootstrapping notes
There is now a test dependency on snakemake from
python-snakemake-interface-common, creating a new dependency cycle.

[skip changelog]
2025-06-23 14:06:41 -04:00
Benjamin A. Beasley
63d07bdff2 Update to 9.6.1
- Skip one flaky test
2025-06-23 12:19:50 -04:00
Benjamin A. Beasley
42c2682fdf Re-enable tests requiring google-cloud-storage 2025-06-18 08:55:22 -04:00
Benjamin A. Beasley
2d0bcdaa8b Update to a snapshot to address a Python 3.14 regression
- Do a non-bootstrap build
2025-06-12 13:10:07 -04:00
Benjamin A. Beasley
bd2da15e72 Move the description lower in the spec file
[skip changelog]
2025-06-12 11:30:27 -04:00
Benjamin A. Beasley
5a415c350b Bootstrap for Python 3.14 (close RHBZ#2372222) 2025-06-12 06:48:08 -04:00
Benjamin A. Beasley
0c50278045 Work around broken python-google-cloud-storage 2025-06-12 06:34:33 -04:00
Benjamin A. Beasley
1118337fcf Allow PuLP 3.2 2025-05-29 07:36:09 -04:00
Benjamin A. Beasley
b20ab7df8e Update to 9.5.1 (close RHBZ#2367769) 2025-05-24 20:02:01 -04:00
Benjamin A. Beasley
d4e4d6466a Update to 9.4.0 (close RHBZ#2366656) 2025-05-15 20:20:07 -04:00
Benjamin A. Beasley
191c1b2800 Update .rpmlintrc file for current rpmlint 2025-05-10 22:13:46 -04:00
Benjamin A. Beasley
d9aa4c518a Stop using Packit, since we must run a script to generate the asset-bundle source 2025-05-09 11:43:44 -04:00
Packit
ff97abfed0 Update to 9.3.4 upstream release
- Resolves: rhbz#2309617

Upstream tag: v9.3.4
Upstream commit: 67ad5eb3

Commit authored by Packit automation (https://packit.dev/)
2025-05-09 11:43:08 -04:00
Benjamin A. Beasley
7632af6245 Update to 9.3.3 (close RHBZ#2309617) 2025-05-08 21:45:06 -04:00
Benjamin A. Beasley
8d09f652b8 Update .rpmlintrc file for latest rpmlint and snakemake versions 2025-05-08 07:12:42 -04:00
Benjamin A. Beasley
af2d0a81b4 F41+: Use the provisional pyproject declarative buildsystem 2025-05-08 06:56:41 -04:00
Benjamin A. Beasley
fa2f73be88 Update to 8.30.0
- Add a weak dependency on R-core
- An asset bundle for offline HTML report generation is now included;
  this has required significant additional “machinery” to package
  properly, and adds many terms to the License field.
2025-03-21 07:42:49 -04:00
Fedora Release Engineering
f603c042a7 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 11:04:54 +00:00
Benjamin A. Beasley
4ec1c48d90 Allow pulp 2.9 2024-10-13 16:25:27 -04:00
Benjamin A. Beasley
8e7fe404d8 Stop trying to generate BR’s from removed extras
[skip changelog
2024-09-20 08:25:23 -04:00
Benjamin A. Beasley
29add5f431 No longer conditionalize conda tests
We can now install conda in F41.
2024-08-22 23:29:02 -04:00
Packit
92fc68568d Update to 8.18.2 upstream release
- Resolves: rhbz#2307480

Upstream tag: v8.18.2
Upstream commit: 9a600464

Commit authored by Packit automation (https://packit.dev/)
2024-08-23 01:52:59 +00:00
Packit
6dad0db862 Update to 8.18.0 upstream release
- Resolves: rhbz#2305095

Upstream tag: v8.18.0
Upstream commit: 1b08a797

Commit authored by Packit automation (https://packit.dev/)
2024-08-15 10:21:14 +00:00
Packit
471052edf0 Update to 8.17.0 upstream release
- Resolves: rhbz#2304309

Upstream tag: v8.17.0
Upstream commit: 7e2d075f

Commit authored by Packit automation (https://packit.dev/)
2024-08-13 12:03:20 +00:00
Benjamin A. Beasley
2100ec62b6 Run tests the way upstream expects
- The result is that we run many more tests
2024-08-04 17:54:30 -04:00
Benjamin A. Beasley
c4f747fd42 Rely on python-unversioned-command
- This seems to be the best compromise around portable remote execution
2024-08-01 15:04:45 -04:00
Fedora Release Engineering
9eee5a00ac Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 05:56:20 +00:00
Packit
7c2af27c4e Update to 8.16.0 upstream release
- Resolves: rhbz#2297081

Upstream tag: v8.16.0
Upstream commit: 838b2fce

Commit authored by Packit automation (https://packit.dev/)
2024-07-11 12:33:11 -04:00
Packit
93f4a57911 Update to 8.15.2 upstream release
- Resolves: rhbz#2295978

Upstream tag: v8.15.2
Upstream commit: c707ea8d

Commit authored by Packit automation (https://packit.dev/)
2024-07-05 16:15:39 +00:00
Packit
037c3fd10d Update to 8.14.0 upstream release
- Resolves: rhbz#2292066

Upstream tag: v8.14.0
Upstream commit: f49d2993

Commit authored by Packit automation (https://packit.dev/)
2024-06-12 19:25:59 +00:00
Python Maint
b146c06795 Rebuilt for Python 3.13 2024-06-09 22:43:12 +02:00
Python Maint
8d2f3045b3 Bootstrap for Python 3.13 2024-06-09 17:13:15 +02:00
Packit
cd1330a4a1 Update to 8.13.0 upstream release
- Resolves: rhbz#2290700

Upstream tag: v8.13.0
Upstream commit: 6f3669d4

Commit authored by Packit automation (https://packit.dev/)
2024-06-06 10:39:52 +00:00
Packit
1812781047 Update to 8.12.0 upstream release
- Resolves: rhbz#2283549

Upstream tag: v8.12.0
Upstream commit: 0fe04591

Commit authored by Packit automation (https://packit.dev/)
2024-05-27 21:15:46 +00:00
Packit
602611c48e Update to 8.11.6 upstream release
- Resolves: rhbz#2280990

Upstream tag: v8.11.6
Upstream commit: 3eeecc67

Commit authored by Packit automation (https://packit.dev/)
2024-05-17 16:03:44 +00:00
Packit
6d711792e4 Update to 8.11.3 upstream release
- Resolves: rhbz#2278739

Upstream tag: v8.11.3
Upstream commit: 4a4eb408

Commit authored by Packit automation (https://packit.dev/)
2024-05-04 04:24:15 +00:00
Packit
d86078cae4 Update to 8.11.1 upstream release
- Resolves: rhbz#2278140

Upstream tag: v8.11.1
Upstream commit: fc70c901

Commit authored by Packit automation (https://packit.dev/)
2024-05-01 13:09:57 +00:00
Packit
eac859e659 Update to 8.11.0 upstream release
- Resolves: rhbz#2276195

Upstream tag: v8.11.0
Upstream commit: a988cef3

Commit authored by Packit automation (https://packit.dev/)
2024-04-25 11:03:24 +00:00
Packit
5e9b8d14d4 Update to 8.10.8 upstream release
- Resolves: rhbz#2276195

Upstream tag: v8.10.8
Upstream commit: 84658188

Commit authored by Packit automation (https://packit.dev/)
2024-04-20 12:02:30 +00:00
Packit
d2dca029b5 Update to 8.10.7 upstream release
- Resolves: rhbz#2274843

Upstream tag: v8.10.7
Upstream commit: 6abd8269

Commit authored by Packit automation (https://packit.dev/)
2024-04-13 06:31:01 +00:00
Benjamin A. Beasley
081b1da065 Add an rpmlintrc file
[skip changelog]
2024-04-04 22:58:31 -04:00
Packit
025292d9bc Update to 8.10.6 upstream release
- Resolves: rhbz#2273536

Upstream tag: v8.10.6
Upstream commit: b3c1dd4b

Commit authored by Packit automation (https://packit.dev/)
2024-04-04 21:58:13 +00:00
Packit
da51343d52 [packit] 8.10.4 upstream release
- Resolves: rhbz#2271076

Upstream tag: v8.10.4
Upstream commit: 41994827
2024-03-28 20:48:18 +00:00
Packit
d62d4b95be [packit] 8.9.0 upstream release
- Resolves rhbz#2270394

Upstream tag: v8.9.0
Upstream commit: 1a9515a1
2024-03-20 05:49:37 +00:00
Benjamin A. Beasley
0b1c405f43 Update to 8.8.0 2024-03-15 12:11:13 -04:00
Packit
55bab12191 [packit] 8.7.0 upstream release
- Resolves rhbz#2269498

Upstream tag: v8.7.0
Upstream commit: 05ee8126
2024-03-14 07:53:19 +00:00
Benjamin A. Beasley
e51f8eff33 Non-bootstrap build of snakemake 8.6.0 2024-03-12 09:21:02 -04:00
Packit
203f05dc9e [packit] 8.6.0 upstream release (bootstrap)
- Resolves rhbz#2269081

Upstream tag: v8.6.0
Upstream commit: 11e13944
2024-03-12 08:10:08 -04:00
Benjamin A. Beasley
fcd08278dd Patch to allow smart_open 7.x 2024-03-11 12:05:38 -04:00
Packit
24c4fd9cf9 [packit] 8.5.5 upstream release
- Resolves rhbz#2268576

Upstream tag: v8.5.5
Upstream commit: e0a6be4f
2024-03-08 11:48:45 +00:00
Packit
55702dd5c4 [packit] 8.5.4 upstream release
- Resolves rhbz#2268374

Upstream tag: v8.5.4
Upstream commit: dfd76c3a
2024-03-07 07:01:04 +00:00
Benjamin A. Beasley
cc4908806b Update to 8.5.3 2024-02-26 09:34:23 -05:00
Packit
a3fd96ca8c [packit] 8.5.2 upstream release
- Resolves rhbz#2265871

Upstream tag: v8.5.2
Upstream commit: 968a8721
2024-02-24 23:47:37 -05:00
Packit
78f2e112d1 [packit] 8.4.12 upstream release
- Resolves rhbz#2265048

Upstream tag: v8.4.12
Upstream commit: 0c9f681d
2024-02-21 14:09:28 -05:00
Packit
aa829c6cb5 [packit] 8.4.9 upstream release
- Resolves rhbz#2263559

Upstream tag: v8.4.9
Upstream commit: 8e10bfe5
2024-02-18 23:38:10 +00:00
Packit
802b30a009 [packit] 8.4.8 upstream release
- Resolves rhbz#2263559

Upstream tag: v8.4.8
Upstream commit: 74db8e59
2024-02-09 18:30:04 +00:00
Packit
6c8408437d [packit] 8.4.7 upstream release
- Resolves rhbz#2263390

Upstream tag: v8.4.7
Upstream commit: 42b50a60
2024-02-08 17:32:03 +00:00
Packit
5ec48c585d [packit] 8.4.6 upstream release
- Resolves rhbz#2263115

Upstream tag: v8.4.6
Upstream commit: 6f345d31
2024-02-07 03:33:29 +00:00
Packit
760510a64a [packit] 8.4.4 upstream release
- Resolves rhbz#2262847

Upstream tag: v8.4.4
Upstream commit: 805dd0c5
2024-02-05 14:38:15 -05:00
Packit
f7239d970e [packit] 8.4.3 upstream release
- Resolves rhbz#2259983

Upstream tag: v8.4.3
Upstream commit: 5a3ff9ef
2024-02-03 09:19:37 -05:00
Fedora Release Engineering
88fd6314ad Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 03:42:49 +00:00
Packit
7b83604f87 [packit] 8.2.3 upstream release
- Resolves rhbz#2259386

Upstream tag: v8.2.3
Upstream commit: 4195a322
2024-01-20 22:44:55 -05:00
Benjamin A. Beasley
da2ad60d4c Don’t build PDF documentation
- Drop and Obsolete the -doc subpackage

Building the documentation is becoming too tedious.
2024-01-20 22:44:55 -05:00
Benjamin A. Beasley
14fc53abc4 [packit] 8.2.1 upstream release
Upstream tag: v8.2.1
Upstream commit: c05cc9e8
2024-01-19 07:58:36 -05:00
Benjamin A. Beasley
d28443332e Non-bootstrap build 2024-01-18 23:44:30 -05:00
Packit
d9cab37bc6 [packit] 8.1.2 upstream release
- Resolves rhbz#2255578

Upstream tag: v8.1.2
Upstream commit: 41959557
2024-01-14 12:06:35 -05:00
Benjamin A. Beasley
fd294731b4 Assert that the .dist-info directory contains a license file 2024-01-05 08:08:22 -05:00
10 changed files with 789 additions and 200 deletions

110
.gitignore vendored
View file

@ -29,3 +29,113 @@
/snakemake-7.32.2.tar.gz
/snakemake-7.32.3.tar.gz
/snakemake-7.32.4.tar.gz
/snakemake-8.1.2.tar.gz
/snakemake-8.2.1.tar.gz
/snakemake-8.2.3.tar.gz
/snakemake-8.4.3.tar.gz
/snakemake-8.4.4.tar.gz
/snakemake-8.4.6.tar.gz
/snakemake-8.4.7.tar.gz
/snakemake-8.4.8.tar.gz
/snakemake-8.4.9.tar.gz
/snakemake-8.4.12.tar.gz
/snakemake-8.5.2.tar.gz
/snakemake-8.5.3.tar.gz
/snakemake-8.5.4.tar.gz
/snakemake-8.5.5.tar.gz
/snakemake-8.6.0.tar.gz
/snakemake-8.7.0.tar.gz
/snakemake-8.8.0.tar.gz
/snakemake-8.9.0.tar.gz
/snakemake-8.10.4.tar.gz
/snakemake-8.10.6.tar.gz
/snakemake-8.10.7.tar.gz
/snakemake-8.10.8.tar.gz
/snakemake-8.11.0.tar.gz
/snakemake-8.11.1.tar.gz
/snakemake-8.11.3.tar.gz
/snakemake-8.11.6.tar.gz
/snakemake-8.12.0.tar.gz
/snakemake-8.13.0.tar.gz
/snakemake-8.14.0.tar.gz
/snakemake-8.15.2.tar.gz
/snakemake-8.16.0.tar.gz
/snakemake-8.17.0.tar.gz
/snakemake-8.18.0.tar.gz
/snakemake-8.18.2.tar.gz
/snakemake-8.30.0.tar.gz
/snakemake-8.30.0-assets.tar.zst
/snakemake-9.3.3.tar.gz
/snakemake-9.3.3-assets.tar.zst
/snakemake-9.3.4.tar.gz
/snakemake-9.3.4-assets.tar.zst
/snakemake-9.4.0.tar.gz
/snakemake-9.4.0-assets.tar.zst
/snakemake-9.5.1.tar.gz
/snakemake-9.5.1-assets.tar.zst
/snakemake-6dee2b55fbfff3bdad33cecdbeb8bd55ff4586bc.tar.gz
/snakemake-6dee2b55fbfff3bdad33cecdbeb8bd55ff4586bc-assets.tar.zst
/snakemake-9.6.1.tar.gz
/snakemake-9.6.1-assets.tar.zst
/snakemake-9.6.2.tar.gz
/snakemake-9.6.2-assets.tar.zst
/snakemake-9.7.1.tar.gz
/snakemake-9.7.1-assets.tar.zst
/snakemake-9.8.0.tar.gz
/snakemake-9.8.0-assets.tar.zst
/snakemake-9.8.1.tar.gz
/snakemake-9.8.1-assets.tar.zst
/snakemake-9.8.2.tar.gz
/snakemake-9.8.2-assets.tar.zst
/snakemake-9.9.0.tar.gz
/snakemake-9.9.0-assets.tar.zst
/snakemake-9.10.0.tar.gz
/snakemake-9.10.0-assets.tar.zst
/snakemake-9.10.1.tar.gz
/snakemake-9.10.1-assets.tar.zst
/snakemake-9.11.0.tar.gz
/snakemake-9.11.0-assets.tar.zst
/snakemake-9.11.2.tar.gz
/snakemake-9.11.2-assets.tar.zst
/snakemake-9.11.3.tar.gz
/snakemake-9.11.3-assets.tar.zst
/snakemake-9.11.4.tar.gz
/snakemake-9.11.4-assets.tar.zst
/snakemake-9.11.5.tar.gz
/snakemake-9.11.5-assets.tar.zst
/snakemake-9.11.6.tar.gz
/snakemake-9.11.6-assets.tar.zst
/snakemake-9.11.7.tar.gz
/snakemake-9.11.7-assets.tar.zst
/snakemake-9.11.8.tar.gz
/snakemake-9.11.8-assets.tar.zst
/snakemake-9.11.9.tar.gz
/snakemake-9.11.9-assets.tar.zst
/snakemake-9.12.0.tar.gz
/snakemake-9.12.0-assets.tar.zst
/snakemake-9.13.0.tar.gz
/snakemake-9.13.0-assets.tar.zst
/snakemake-9.13.1.tar.gz
/snakemake-9.13.1-assets.tar.zst
/snakemake-9.13.2.tar.gz
/snakemake-9.13.2-assets.tar.zst
/snakemake-9.13.3.tar.gz
/snakemake-9.13.3-assets.tar.zst
/snakemake-9.13.4.tar.gz
/snakemake-9.13.4-assets.tar.zst
/snakemake-9.13.5.tar.gz
/snakemake-9.13.5-assets.tar.zst
/snakemake-9.13.6.tar.gz
/snakemake-9.13.6-assets.tar.zst
/snakemake-9.13.7.tar.gz
/snakemake-9.13.7-assets.tar.zst
/snakemake-9.14.2.tar.gz
/snakemake-9.14.2-assets.tar.zst
/snakemake-9.14.3.tar.gz
/snakemake-9.14.3-assets.tar.zst
/snakemake-9.14.4.tar.gz
/snakemake-9.14.4-assets.tar.zst
/snakemake-9.14.5.tar.gz
/snakemake-9.14.5-assets.tar.zst
/snakemake-9.14.6.tar.gz
/snakemake-9.14.6-assets.tar.zst

View file

@ -1,13 +0,0 @@
upstream_project_url: https://github.com/snakemake/snakemake
copy_upstream_release_description: false
upstream_tag_template: v{version}
jobs:
- job: pull_from_upstream
trigger: release
dist_git_branches:
- fedora-rawhide
- job: koji_build
trigger: commit
dist_git_branches:
- fedora-all

View file

@ -1,3 +0,0 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.80.0.post8+gf2b5fcbc.

88
get_assets Executable file
View file

@ -0,0 +1,88 @@
#!/bin/sh
set -o nounset
set -o errexit
DIST_GIT="$(cd "$(dirname "$0")"; pwd)"
SPEC="${DIST_GIT}/snakemake.spec"
WORKDIR="$(mktemp -d)"
trap "rm -rf '${WORKDIR}'" INT TERM EXIT
cd "${WORKDIR}"
# Make sure we have an absolute path to the working directory.
WORKDIR="${PWD}"
echo "==== Download source archive ====" 1>&2
SOURCE0="$(
spectool --list-files "${SPEC}" |
awk '$1 == "Source0:" { print $2 }'
)"
TARNAME="$(basename "${SOURCE0}")"
XDIR="$(basename "${TARNAME}" '.tar.gz')"
spectool --get-files "${SPEC}"
echo "==== Extract source archive ====" 1>&2
tar -xzf "${TARNAME}"
# Capture modification time from the original source archive, before we touch
# anything; everything in our asset archive will have this mtime for better
# reproducibility.
MTIME="$(stat --format='%Y' "${XDIR}/src/snakemake/assets/")"
echo "==== Apply patches ====" 1>&2
spectool --list-files "${SPEC}" |
awk '/^Patch/ && !/modified-assets/ { print $2 }' |
while read -r patchfile
do
set -o nounset
set -o errexit
echo "--> ${patchfile}" 1>&2
cd "${WORKDIR}/${XDIR}"
patch -p1 < "${DIST_GIT}/$(basename "${patchfile}")"
done
echo "==== Download assets ====" 1>&2
PYTHONPATH="${PWD}/${XDIR}/src/snakemake" python3 <<'EOF'
from assets import Assets
Assets.deploy()
EOF
echo "==== Modify assets ====" 1>&2
echo "--> Remove array-flat-polyfill (CC0-1.0 code, unused)" 1>&2
target='src/snakemake/assets/data/vega-lite/vega-lite.js'
echo "To be removed from ${target}:" 1>&2
grep -E '^[[:blank:]]*Array\.prototype\.flat[[:blank:]]*\|\|' \
"${XDIR}/${target}" 1>&2
sed -r -i '/^[[:blank:]]*Array\.prototype\.flat[[:blank:]]*\|\|/d' \
"${XDIR}/${target}"
echo '--> Search for vestiges of array-flat-polyfill' 1>&2
if grep -ErinI 'defineProperty\(Array\.prototype,[[:blank:]]*.flat' \
"${XDIR}/src/snakemake/assets"
then
echo 'MANUAL AUDIT REQUIRED' 1>&2
exit 1
fi
# Remove license file and the directory containing it
rm -rv "${XDIR}/src/snakemake/assets/data/array-flat-polyfill"
echo "--> Search for missed CC0-1.0 licenses" 1>&2
if grep -ErinI '\bCC0\b' "${XDIR}/src/snakemake/assets"
then
echo 'MANUAL AUDIT REQUIRED' 1>&2
exit 1
fi
echo "==== Archive assets ====" 1>&2
RESULT="${XDIR}-assets.tar.zst"
ls -ld "${XDIR}/src/snakemake/assets/"
# https://www.gnu.org/software/tar/manual/html_section/Reproducibility.html
TZ=UTC LC_ALL=C tar \
--create \
--sort=name \
--format=posix \
--numeric-owner --owner=0 --group=0 \
--mode=go+u,go-w \
--pax-option='delete=atime,delete=ctime' \
--clamp-mtime --mtime="@${MTIME}" \
--directory="${XDIR}" \
src/snakemake/assets/data |
zstdmt --ultra -22 > "${RESULT}"
mv -v "${RESULT}" "${DIST_GIT}"

View file

@ -1,16 +0,0 @@
diff -Naur snakemake-7.11.0-original/docs/snakefiles/rules.rst snakemake-7.11.0/docs/snakefiles/rules.rst
--- snakemake-7.11.0-original/docs/snakefiles/rules.rst 2022-07-27 10:01:28.000000000 -0400
+++ snakemake-7.11.0/docs/snakefiles/rules.rst 2022-07-27 11:54:32.457308100 -0400
@@ -970,12 +970,6 @@
snakemake --cluster ... --jobs 100 --until test.txt
Then, the notebook rule can easily be executed locally.
-An demo of the entire interactive editing process can be found by clicking below:
-
-.. image:: images/snakemake-notebook-demo.gif
- :scale: 20%
- :alt: Notebook integration demo
- :align: center
Finally, it is advisable to combine the ``notebook`` directive with the ``conda`` directive (see :ref:`integrated_package_management`) in order to define a software stack to use.
At least, this software stack should contain jupyter and the language to use (e.g. Python or R).

View file

@ -1,12 +0,0 @@
diff -Naur snakemake-7.32.4-original/snakemake/__init__.py snakemake-7.32.4/snakemake/__init__.py
--- snakemake-7.32.4-original/snakemake/__init__.py 2023-09-18 10:42:36.000000000 -0400
+++ snakemake-7.32.4/snakemake/__init__.py 2024-07-16 10:12:09.542270257 -0400
@@ -1604,7 +1604,7 @@
try:
import pulp
- lp_solvers = pulp.list_solvers(onlyAvailable=True)
+ lp_solvers = pulp.listSolvers(onlyAvailable=True)
except ImportError:
# Dummy list for the case that pulp is not available
# This only happened when building docs.

View file

@ -0,0 +1,44 @@
diff -Naur snakemake-9.1.1-original/src/snakemake/assets/__init__.py snakemake-9.1.1/src/snakemake/assets/__init__.py
--- snakemake-9.1.1-original/src/snakemake/assets/__init__.py 2025-03-21 14:49:12.112309938 -0400
+++ snakemake-9.1.1/src/snakemake/assets/__init__.py 2025-03-21 14:49:56.495171724 -0400
@@ -379,9 +379,12 @@
version="0.6.2",
),
# End copied/derived/adapted code in vega, included in vega/vega.js
+ # Fedora patch: We have removed array-flat-polyfill from the bundle
+ # since its CC0-1.0 code is not-allowed for code; the checksum of the
+ # packaged bundle therefore differs from that of the published one.
"vega-lite/vega-lite.js": Asset(
url="https://cdnjs.cloudflare.com/ajax/libs/vega-lite/{version}/vega-lite.js",
- sha256="6eb7f93121cd9f44cf8640244f87c5e143f87c7a0b6cd113da4a9e41e3adf0aa",
+ sha256="5b9880c2bf7c1daac912ca1e80b384daf2e7dedc3c6b62bc5159ed86d3c51c7b",
version="5.2.0",
),
"vega-lite/LICENSE": Asset(
@@ -428,13 +431,6 @@
sha256="c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383",
version="2.1.1",
),
- "array-flat-polyfill/LICENSE": Asset(
- # Releases are not tagged in git; we use the commit hash
- # corresponding to the 1.0.1 release
- url="https://raw.githubusercontent.com/jonathantneal/array-flat-polyfill/362d855cb6ea2ef12f0676b116c5f9e4233b6f31/LICENSE.md",
- sha256="597756adcb51f243ef4fb386920377f61d012ace0904364e1a8ee9aaec6afc84",
- version="1.0.1",
- ),
"clone/LICENSE": Asset(
url="https://raw.githubusercontent.com/pvorb/clone/refs/tags/v{version}/LICENSE",
sha256="3fb0857ef0133928cf72c88dfc464e931486e88778961eedec25585e2321507f",
diff -Naur snakemake-9.1.1-original/src/snakemake/report/html_reporter/data/packages.py snakemake-9.1.1/src/snakemake/report/html_reporter/data/packages.py
--- snakemake-9.1.1-original/src/snakemake/report/html_reporter/data/packages.py 2025-03-21 14:49:08.721489278 -0400
+++ snakemake-9.1.1/src/snakemake/report/html_reporter/data/packages.py 2025-03-21 14:49:56.496478714 -0400
@@ -143,9 +143,6 @@
"@types-clone": Package(
license_path="@types-clone/LICENSE",
),
- "array-flat-polyfill": Package(
- license_path="array-flat-polyfill/LICENSE",
- ),
"clone": Package(
license_path="clone/LICENSE",
),

12
snakemake.rpmlintrc Normal file
View file

@ -0,0 +1,12 @@
# It is normal that extras metapackages should not have documentation, or any
# files at all.
addFilter(r"\+\w+.noarch: W: no-documentation")
# Removed in Snakemake 9.6 with no equivalent replacement.
addFilter(r" obsolete-not-provided snakemake\+(messaging)$")
# The -doc subpackage was removed and has no equivalent replacement.
addFilter(r" obsolete-not-provided snakemake-doc$")
# This is, unfortunately, intentional. See the comments in the spec file.
addFilter(r" python-leftover-require python-unversioned-command$")
# The assets bundle needs to be generated with a script, so it has no URL (and
# .tar.zst is perfectly legitimate).
addFilter(r" (invalid-url|inconsistent-file-extension).* snakemake-.*-assets\.tar\.zst")

View file

@ -1,7 +1,396 @@
%bcond tests 1
# Sphinx-generated HTML documentation is not suitable for packaging; see
# https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion.
%bcond doc_pdf 1
# Work around a series of circular test dependencies:
#
# ⬐─python-snakemake-logger-plugin-rich🠔────╮
# python-snakemake-interface-logger-plugins─╯
# │↑python-snakemake-interface-scheduler-plugins
# │││↑ python-snakemake-interface-report-plugins
# ↓│↓│ ↓↑ ⬐───╮
# snakemake → python-snakemake-interface-executor-plugins⬎
# ↑↑↑ │ ⬑────────────────────python-snakemake-executor-plugin-cluster-generic
# │││ ↳python-snakemake-interface-storage-plugins─────────────────╮
# │││ ↓────────────────╮│
# ││╰────────────────────────python-snakemake-storage-plugin-http││
# │╰─────────────────────────python-snakemake-storage-plugin-s3🠔─╯│
# ╰──────────────────────────python-snakemake-storage-plugin-fs🠔──╯
#
# A good build order is:
#
# 1. BOOTSTRAP:
# python-snakemake-interface-common
# 2. BOOTSTRAP:
# python-snakemake-interface-executor-plugins
# python-snakemake-interface-logger-plugins
# python-snakemake-interface-report-plugins
# python-snakemake-interface-scheduler-plugins
# python-snakemake-interface-storage-plugins
# 3. BOOTSTRAP: snakemake
# 4. python-snakemake-executor-plugin-cluster-generic
# python-snakemake-logger-plugin-rich
# python-snakemake-storage-plugin-fs
# python-snakemake-storage-plugin-http
# python-snakemake-storage-plugin-s3
# 5. snakemake
# python-snakemake-interface-executor-plugins
# python-snakemake-interface-logger-plugins
# python-snakemake-interface-report-plugins
# python-snakemake-interface-scheduler-plugins
# python-snakemake-interface-storage-plugins
%bcond bootstrap 0
%bcond tests %{without bootstrap}
# Run tests that require network access? This only makes sense for local mock
# builds in combination with --enable-network.
%bcond network_tests 0
# Almost all of the conda tests require network access, but there are also
# other failures that are not straightforward to understand.
%bcond conda_tests 0
%bcond gcs_tests 1
Name: snakemake
Version: 9.14.6
%global srcversion %(echo '%{version}' | cut -d '^' -f 1)
Release: %autorelease
Summary: Workflow management system to create reproducible and scalable data analyses
# The primary license for Snakemake is MIT; web assets contribute a variety of
# other licenses.
#
# Apache-2.0 AND BSD-2-Clause AND BSD-3-CLause AND ISC AND MIT AND MIT-0:
# - src/snakemake/assets/data/vega/vega.js
#
# BSD-3-Clause AND MIT:
# - src/snakemake/assets/data/vega-lite/vega-lite.js
#
# BSD-3-Clause AND ISC AND MIT:
# - src/snakemake/assets/data/vega-embed/vega-embed.js
#
# MIT:
# - All Snakemake code unless otherwise noted
# - heroicons: It is unclear if anything derived from heroicons is actually
# present in the package, but upstream carries a copy of its license file, so
# we mention the possibility.
# - src/snakemake/assets/data/prop-types/prop-types.min.js
# - src/snakemake/assets/data/tailwindcss/tailwind.css
#
# == License breakdown: src/snakemake/assets/data/vega/vega.js ==
#
# The primary license for npm(vega) is BSD-3-Clause. The bundle contains:
#
# Apache-2.0:
# - apache-commons-math, from which an implementation of erfinv is derived
# BSD-2-Clause:
# - npm(esprima), bundled as a copied, derived, or adapted snippet
# BSD-3-Clause:
# - npm(vega) and various npm(vega-*) libraries
# - npm(d3-contour), bundled as a copied, derived, or adapted snippet
# - npm(d3-regression), bundled as a copied, derived, or adapted snippet
# - npm(science), bundled as a copied, derived, or adapted snippet
# - npm(shapefile), bundled as a copied, derived, or adapted snippet
# ISC:
# - various npm(d3-*) libraries
# - npm(delaunator)
# - npm(quickselect)
# - npm(topojson-client)
# ISC AND MIT:
# - npm(d3-geo) (MIT is due to some code being derived from GeographicLib)
# - npm(d3-geo-projection) (MIT is due to some code being derived from
# https://github.com/scijs/integrate-adaptive-simpson)
# MIT:
# - npm(@types/estree)
# - npm(hashlru), bundled as a copied, derived, or adapted snippet
# - npm(regression), bundled as a copied, derived, or adapted snippet
# MIT-0:
# - npm(fabric), bundled as a copied, derived, or adapted snippet
#
# == License breakdown: src/snakemake/assets/data/vega-lite/vega-lite.js ==
#
# The primary license for npm(vega-lite) is BSD-3-Clause. The bundle contains:
#
# BSD-3-Clause:
# - npm(vega-lite) and various npm(vega-*) libraries
# MIT:
# - npm(@types/clone)
# - npm(@types/estree)
# - npm(clone)
# - npm(fast-deep-equal)
# - npm(fast-json-stable-stringify)
# - npm(hashlru), bundled as a copied, derived, or adapted snippet
# - npm(json-stringify-pretty-compact)
#
# == License breakdown: src/snakemake/assets/data/vega-embed/vega-embed.js ==
#
# The primary license for npm(vega-embed) is BSD-3-Clause. The bundle contains:
#
# BSD-3-Clause:
# - npm(vega-embed) and various npm(vega-*) libraries
# ISC:
# - npm(semver)
# MIT:
# - npm(fast-json-patch)
# - npm(json-stringify-pretty-compact)
License: %{shrink:
Apache-2.0 AND
BSD-2-Clause AND
BSD-3-Clause AND
ISC AND
MIT AND
MIT-0
}
URL: https://snakemake.readthedocs.io/en/stable/index.html
%global forgeurl https://github.com/snakemake/snakemake
# We could use the PyPI sdist, which already contains the HTML report assets,
# but we would lose at least the vim extensions and changelog, and we would
# have to nontrivially modify the sdist to remove a CC0-1.0-licensed polyfill
# before uploading it to the lookaside cache, so doing so would not be
# meaningfully easier than using the GitHub archive with an additional source
# for the assets.
Source0: %{forgeurl}/archive/v%{version}/snakemake-%{version}.tar.gz
# The assets for HTML reports are normally downloaded in setup.py when creating
# the sdist. We use a script, Source2, executed with no arguments (implicitly
# relying on the spec file in the same directory) to download the assets,
# modify them as necessary, and pack them into an additional source archive.
Source1: snakemake-%{version}-assets.tar.zst
Source2: get_assets
# Downstream-only: adjust the asset metadata in the sources, including
# checksums, for any adjustments that happened in the get_assets script.
#
# When the get_assets script unpacks and patches Source0 in order to use it to
# download assets, it skips this patch, because we need to first fetch the
# original assets in order to then modify them. The signal for this behavior is
# the substring "modified-assets" in the patch name.
Patch: snakemake-9.1.1-modified-assets.patch
BuildSystem: pyproject
# Generate BRs for all supported extras to ensure they do not FTI
BuildOption(generate_buildrequires): -x reports
BuildOption(install): -l snakemake
BuildOption(check): %{shrink:
-e '*.tests*'
%{?!with_gcs_tests:-e 'snakemake.executors.google_lifesciences_helper'}
}
BuildArch: noarch
BuildRequires: help2man
# Snakemake uses (unversioned) "python" as the default remote execution
# command. Because remote hosts could be Windows machines, and those are likely
# to lack "python3.exe" (see https://github.com/python/cpython/issues/99185),
# we didnt try to convince upstream to change this. Instead, we (reluctantly)
# just make sure that our own Snakemake installations are compatible by
# depending on python-unversioned-command.
BuildRequires: python-unversioned-command
Requires: python-unversioned-command
BuildRequires: vim-filesystem
Requires: vim-filesystem
# Required for snakemake.script.RScript, snakemake.notebook.RJupyterNotebook
# (Some of the tests in tests/tests_using_conda.py require this.)
BuildRequires: R-core
Recommends: R-core
Provides: vim-snakemake = %{version}-%{release}
# Regarding pre-compiled/pre-minified JavaScript, see:
# - https://pagure.io/fesco/issue/3177
# - https://pagure.io/packaging-committee/pull-request/1370
# Regarding CSS, see:
# - https://pagure.io/fesco/issue/3269
# - https://pagure.io/packaging-committee/pull-request/1402
# Styles from Pygments are bundled in generated HTML reports (thus the presence
# of a Pygments license file), but the styles come from the system
# python3-pygments package and are not actually bundled in this package.
# tailwind.css 3.4.16 is src/snakemake/assets/data/tailwindcss/tailwind.css,
# but we do not normally treat CSS frameworks as bundled dependencies, and it
# is not clear how we should name a virtusl Provides if we added one.
# src/snakemake/assets/data/react/react.production.min.js
Provides: bundled(npm(react)) = 18.2.0
# src/snakemake/assets/data/react/react-dom.production.min.js
Provides: bundled(npm(react-dom)) = 18.2.0
# src/snakemake/assets/data/vega/vega.js
Provides: bundled(npm(vega)) = 5.21.0
# Bundled in src/snakemake/assets/data/vega/vega.js as dependencies:
# For versions of vega-* packages, see:
# https://github.com/vega/vega/blob/v5.21.0/packages
Provides: bundled(npm(vega-crossfilter)) = 4.0.5
Provides: bundled(npm(vega-dataflow)) = 5.7.4
Provides: bundled(npm(vega-encode)) = 4.8.3
Provides: bundled(npm(vega-event-selector)) = 3.0.0
Provides: bundled(npm(vega-expression)) = 5.0.0
Provides: bundled(npm(vega-force)) = 4.0.7
Provides: bundled(npm(vega-format)) = 1.0.4
Provides: bundled(npm(vega-functions)) = 5.12.1
Provides: bundled(npm(vega-geo)) = 4.3.8
Provides: bundled(npm(vega-hierarchy)) = 4.0.9
Provides: bundled(npm(vega-label)) = 1.1.0
Provides: bundled(npm(vega-loader)) = 4.4.1
Provides: bundled(npm(vega-parser)) = 6.1.4
Provides: bundled(npm(vega-projection)) = 1.4.5
Provides: bundled(npm(vega-regression)) = 1.0.9
Provides: bundled(npm(vega-runtime)) = 6.1.3
Provides: bundled(npm(vega-scale)) = 7.1.1
Provides: bundled(npm(vega-scenegraph)) = 4.9.4
Provides: bundled(npm(vega-statistics)) = 5.3.1
Provides: bundled(npm(vega-time)) = 2.0.4
Provides: bundled(npm(vega-transforms)) = 4.9.5
Provides: bundled(npm(vega-typings)) = 0.22.0
Provides: bundled(npm(vega-util)) = 1.17.0
Provides: bundled(npm(vega-view)) = 5.10.1
Provides: bundled(npm(vega-view-transforms)) = 4.5.8
Provides: bundled(npm(vega-voronoi)) = 4.1.5
Provides: bundled(npm(vega-wordcloud)) = 4.1.3
# For these, see notes in src/snakemake/assets/__init__.py.
Provides: bundled(npm(@types/estree)) = 0.0.50
Provides: bundled(npm(d3-array)) = 2.12.1
Provides: bundled(npm(d3-color)) = 2.0.0
Provides: bundled(npm(d3-delaunay)) = 5.2.0
Provides: bundled(npm(d3-dispatch)) = 2.0.0
Provides: bundled(npm(d3-dsv)) = 2.0.0
Provides: bundled(npm(d3-force)) = 2.1.1
Provides: bundled(npm(d3-format)) = 2.0.0
Provides: bundled(npm(d3-geo)) = 2.0.2
Provides: bundled(npm(d3-geo-projection)) = 3.0.0
Provides: bundled(npm(d3-hierarchy)) = 2.0.0
Provides: bundled(npm(d3-interpolate)) = 2.0.1
Provides: bundled(npm(d3-path)) = 2.0.0
Provides: bundled(npm(d3-quadtree)) = 2.0.0
Provides: bundled(npm(d3-scale)) = 3.3.0
Provides: bundled(npm(d3-shape)) = 2.1.0
Provides: bundled(npm(d3-time)) = 2.1.1
Provides: bundled(npm(d3-time-format)) = 3.0.0
Provides: bundled(npm(d3-timer)) = 2.0.0
Provides: bundled(npm(delaunator)) = 4.0.1
Provides: bundled(npm(topojson-client)) = 3.1.0
# Present in src/snakemake/assets/data/vega/vega.js in the form of copied,
# derived, or adapted snippets. See notes in src/snakemake/assets/__init__.py.
# Implementation of erfinv is based on:
Provides: bundled(apache-commons-math) = 3.6.1
# Expression parser is based on:
Provides: bundled(esprima) = 2.2.0
Provides: bundled(fabric) = 2.4.5
Provides: bundled(npm(d3-contour)) = 1.3.2
Provides: bundled(npm(d3-regression)) = 1.2.1
Provides: bundled(npm(hashlru)) = 1.0.4
Provides: bundled(npm(quickselect)) = 2.0.0
Provides: bundled(npm(regression)) = 2.0.1
Provides: bundled(npm(science)) = 1.9.3
Provides: bundled(npm(shapefile)) = 0.6.2
# src/snakemake/assets/data/vega-lite/vega-lite.js
Provides: bundled(npm(vega-lite)) = 5.2.0
# NOTE: Some of the following virtual Provides are commented out. These are
# correct, and need to be considered when determining the license of
# vega-lite.js, but they do not need to be repeated in the spec file because
# they duplicate virtual Provides from vega.js.
#
# Bundled in src/snakemake/assets/data/vega-lite/vega-lite.js as dependencies:
# See notes in src/snakemake/assets/__init__.py.
Provides: bundled(npm(@types/clone)) = 2.1.1
Provides: bundled(npm(clone)) = 2.1.2
Provides: bundled(npm(fast-deep-equal)) = 3.1.3
Provides: bundled(npm(fast-json-stable-stringify)) = 2.1.0
Provides: bundled(npm(json-stringify-pretty-compact)) = 3.0.0
# See notes in src/snakemake/assets/__init__.py, as well as dependencies in
# https://github.com/vega/vega-lite/blob/v5.2.0/package.json, and for versions,
# see https://github.com/vega/vega-lite/blob/v5.2.0/yarn.lock; these correspond
# to those associated with vega 5.2.1.
#Provides: bundled(npm(@types/estree)) = 0.0.50
#Provides: bundled(npm(vega-event-selector)) = 3.0.0
#Provides: bundled(npm(vega-expression)) = 5.0.0
#Provides: bundled(npm(vega-util)) = 1.17.0
# Present in src/snakemake/assets/data/vega-lite/vega-lite.js in the form of
# copied, derived, or adapted snippets. See notes in
# src/snakemake/assets/__init__.py.
#Provides: bundled(npm(hashlru)) = 1.0.4
# src/snakemake/assets/data/vega-embed/vega-embed.js
Provides: bundled(npm(vega-embed)) = 6.20.8
# NOTE: Some of the following virtual Provides are commented out. These are
# correct, and need to be considered when determining the license of
# vega-embed.js, but they do not need to be repeated in the spec file because
# they duplicate virtual Provides from vega.js and/or vega-lite.js.
#
# Bundled in src/snakemake/assets/data/vega-embed/vega-embed.js as
# dependencies:
# See notes in src/snakemake/assets/__init__.py.
Provides: bundled(npm(fast-json-patch)) = 3.1.0
#Provides: bundled(npm(json-stringify-pretty-compact)) = 3.0.0
Provides: bundled(npm(semver)) = 7.3.5
# See notes in src/snakemake/assets/__init__.py, as well as dependencies in
# https://github.com/vega/vega-embed/blob/v6.20.8/package.json, and for
# versions, see https://github.com/vega/vega-embed/blob/v6.20.8/yarn.lock;
# these correspond to those associated with vega 5.2.1.
Provides: bundled(npm(vega-interpreter)) = 1.0.4
Provides: bundled(npm(vega-schema-url-parser)) = 2.2.0
Provides: bundled(npm(vega-themes)) = 2.10.0
Provides: bundled(npm(vega-tooltip)) = 0.28.0
#Provides: bundled(npm(vega-util)) = 1.17.0
# Present in src/snakemake/assets/data/vega-embed/vega-embed.js in the form of
# copied, derived, or adapted snippets. See notes in
# src/snakemake/assets/__init__.py.
#Provides: bundled(npm(hashlru)) = 1.0.4
# _areEquals() is based on:
#Provides: bundled(npm(fast-deep-equal)) = 3.1.3
# It is unclear if anything derived from heroicons is actually present in the
# package, but upstream carries a copy of its license file, so we dutifully add
# the virtual Provides, just in case we have missed something.
Provides: bundled(npm(heroicons)) = 1.0.3
# src/snakemake/assets/data/prop-types/prop-types.min.js
Provides: bundled(npm(prop-types)) = 15.7.2
# We no longer build Sphinx-generated PDF documentation. Beginning with 8.2.3,
# this would require patching out sphinxawesome-theme from docs/conf.py. Its
# possible but tedious.
Obsoletes: snakemake-doc < 8.2.1-2
# Removed in 9.6.0; keep the Obsoletes through Fedora 45.
Obsoletes: snakemake+messaging < 9.6.1-1
%if %{with tests}
# For several tests (either apptainer or singularity-ce should work):
BuildRequires: (apptainer or singularity-ce)
%if %{with conda_tests}
# We need this for test_jupyter_notebook*, even if we are not running tests
# that have conda in their names. When the conda_tests bcond is enabled, this
# is also needed for tests/tests_using_conda.py.
BuildRequires: conda
# For test_conda_pin_file, test_conda_named, test_conda_function
BuildRequires: ripgrep
# For test_script_xsh
BuildRequires: xonsh
%endif
# For test_env_modules:
BuildRequires: environment-modules
# For test_filegraph and test_env_modules, which use dot:
BuildRequires: graphviz
# For test_github_issue1158:
BuildRequires: strace
# For test_benchmark and test_benchmark_jsonl:
BuildRequires: stress-ng
# See test-environment.yml for a listing of test dependencies, along with a lot
# of other cruft.
BuildRequires: %{py3_dist boto3}
BuildRequires: %{py3_dist pandas}
BuildRequires: %{py3_dist pytest}
BuildRequires: %{py3_dist pytest-mock}
BuildRequires: %{py3_dist snakemake-executor-plugin-cluster-generic}
BuildRequires: %{py3_dist snakemake-storage-plugin-http}
BuildRequires: %{py3_dist snakemake-storage-plugin-fs}
BuildRequires: %{py3_dist snakemake-storage-plugin-s3}
%endif
# For import-testing snakemake.gui
BuildRequires: %{py3_dist flask}
%if %{with gcs_tests}
# For import-testing snakemake.executors.google_lifesciences_helper:
BuildRequires: %{py3_dist google-cloud-storage}
%endif
%global _description %{expand:
The Snakemake workflow management system is a tool to create reproducible and
@ -11,94 +400,20 @@ cloud environments, without the need to modify the workflow definition.
Finally, Snakemake workflows can entail a description of required software,
which will be automatically deployed to any execution environment.}
Name: snakemake
Version: 7.32.4
Release: %autorelease
Summary: Workflow management system to create reproducible and scalable data analyses
# The entire project is (SPDX) MIT, except:
# - versioneer.py is Unlicense
# - snakemake/_version.py says:
# This file is released into the public domain.
# which would be LicenseRef-Fedora-Public-Domain, except that the comments in
# versioneer.py make it clear that Unlicense is intended for the generated
# files as well.
License: MIT AND Unlicense
URL: https://snakemake.readthedocs.io/en/stable/index.html
Source0: https://github.com/snakemake/snakemake/archive/v%{version}/snakemake-%{version}.tar.gz
BuildArch: noarch
# Since we build the docs as a PDF, we cant include an animated GIF demo.
# Patch out the image reference and the text referring to it.
Patch: snakemake-7.11.0-docs-no-animated-demo.patch
# Fix compatibility with python-pulp 2.8.0
# Downstream-only since snakemake 7.x is no longer developed, and 8.x is OK
Patch: snakemake-7.32.4-pulp-2.8.patch
BuildRequires: python3-devel
BuildRequires: help2man
BuildRequires: vim-filesystem
Requires: vim-filesystem
Provides: vim-snakemake = %{version}-%{release}
# The patch for pulp 2.8 is not backwards-compatible with 2.7.
Requires: (%{py3_dist pulp} >= 2.8 if %{py3_dist pulp})
%if %{with tests}
# See test-environment.yml for a listing of test dependencies, along with a lot
# of other cruft.
BuildRequires: %{py3_dist boto3}
BuildRequires: %{py3_dist configargparse}
# For tests/test_google_lifesciences.py; but it would need a network connection
#BuildRequires: %%{py3_dist google-api-python-client}
#BuildRequires: %%{py3_dist google-cloud-storage}
BuildRequires: %{py3_dist pandas}
BuildRequires: %{py3_dist pytest}
BuildRequires: %{py3_dist requests-mock}
%endif
%description %_description
%package doc
Summary: %{summary}
BuildArch: noarch
%if %{with doc_pdf}
BuildRequires: make
BuildRequires: python3-sphinx-latex
BuildRequires: latexmk
BuildRequires: tex-xetex-bin
BuildRequires: /usr/bin/xindy
BuildRequires: /usr/bin/rsvg-convert
%endif
%description doc %_description
# No metapackage for “pep” extra because the following are not packaged:
# - python3-eido
# - python3-peppy
%pyproject_extras_subpkg -n snakemake reports messaging google-cloud azure
# Therefore, also no metapakge for “all” extra
%pyproject_extras_subpkg -n snakemake reports
%prep
%autosetup -n snakemake-%{version} -p1
%py3_shebang_fix .
# Remove shebangs from non-executable scripts. The Python script is executable
# in the source tree but will be installed without executable permissions.
sed -r -i '1{/^#!/d}' \
snakemake/executors/jobscript.sh \
snakemake/executors/google_lifesciences_helper.py
# Fix calls to unversioned Python interpreter
sed -r -i 's@"python"@"%{python3}"@g' tests/test_linting.py
# Now part of Sphinx:
sed -r -i '/sphinxcontrib-napoleon/d' docs/requirements.txt
# Since pdflatex cannot handle Unicode inputs in general:
echo "latex_engine = 'xelatex'" >> docs/conf.py
%setup -q -T -D -a 1 -c -n snakemake-%{version}
# Copy and rename nano and vim extensions readmes for use in the main
# documentation directory.
for editor in nano vim
@ -106,29 +421,45 @@ do
cp -vp "misc/${editor}/README.md" "README-${editor}.md"
done
%generate_buildrequires
# Generate BRs for all supported extras to ensure they do not FTI
%pyproject_buildrequires -x reports,messaging,google-cloud,azure %{?with_doc_pdf:docs/requirements.txt}
# The CDN URL for tailwind.css does not deliver a file with a stable checksum,
# so upstream has not recorded a checksum in src/snakemake/assets/__init__.py.
# A consequence of this is that setup.py will *always* re-download
# tailwind.css, even if it is already present, when building an sdist or
# bdist/wheel. Of course, this is not acceptable in an offline build, so we
# record the actual checksum of the tailwind.css file we are packaging.
cat >> src/snakemake/assets/__init__.py <<EOF
%build
%pyproject_wheel
%if %{with doc_pdf}
# Cannot use SVG images when building PDF documentation; convert to PDFs
find docs -type f -name '*.svg' |
while read -r fn
do
rsvg-convert --format=pdf \
--output="$(dirname "${fn}")/$(basename "${fn}" .svg).pdf" "${fn}"
done
find docs/executor_tutorial -type f -exec \
gawk '/\.svg/ { print FILENAME; nextfile }' '{}' '+' |
xargs -r -t sed -r -i 's/(image::.*)\.svg/\1\.pdf/'
PYTHONPATH="${PWD}" %make_build -C docs latexpdf SPHINXOPTS='%{?_smp_mflags}'
%endif
# Fedora patch: Upstream does not record a checksum for tailwind.css because
# they report that the CDN URL may serve trivially different copies. Since we
# package a copy of the file, we record the checksum of the actual packaged
# file.
Assets.spec["tailwindcss/tailwind.css"].sha256 = "$(
sha256sum -b src/snakemake/assets/data/tailwindcss/tailwind.css |
awk '{print $1}'
)"
EOF
%install
%pyproject_install
%pyproject_save_files snakemake
%generate_buildrequires -p
export SETUPTOOLS_SCM_PRETEND_VERSION='%{srcversion}'
%build -p
export SETUPTOOLS_SCM_PRETEND_VERSION='%{srcversion}'
%install -a
# Fix shebangs (no /usr/env shebangs)
%py3_shebang_fix %{buildroot}%{python3_sitelib} %{buildroot}%{_bindir}
# Remove shebangs from non-executable scripts. The Python script is executable
# in the source tree but will be installed without executable permissions.
sed -r -i '1{/^#!/d}' \
%{buildroot}%{python3_sitelib}/snakemake/executors/jobscript.sh \
%{buildroot}%{python3_sitelib}/snakemake/executors/google_lifesciences_helper.py
# Mark license files in the asset bundle.
sed -r -i 's@^.*/(LICEN[CS]E|NOTICE)[^/]*$@%%license &@' %{pyproject_files}
# We wait until %%install to generate the man page so that we can use the
# proper script entry point. The generated man page is not perfect, but it is
@ -138,18 +469,6 @@ PATH="${PATH-}:%{buildroot}%{_bindir}" \
PYTHONPATH='%{buildroot}%{python3_sitelib}' \
help2man --no-info --name='%{summary}' snakemake \
> %{buildroot}%{_mandir}/man1/snakemake.1
# No man page for snakemake-bash-completion since it is not intended for manual
# invocation.
# Generate and install shell completions.
install -d %{buildroot}%{bash_completions_dir}
# Since 7.29.0, snakemake --bash-completion no longer works without a Snakefile
# https://github.com/snakemake/snakemake/issues/2336
touch Snakefile
PATH="${PATH-}:%{buildroot}%{_bindir}" \
PYTHONPATH='%{buildroot}%{python3_sitelib}' \
snakemake --bash-completion \
> %{buildroot}%{bash_completions_dir}/snakemake.bash
# Install nano syntax highlighting
install -t '%{buildroot}%{_datadir}/nano' -D -m 0644 -p \
@ -161,42 +480,111 @@ cp -vrp misc/vim/* '%{buildroot}%{_datadir}/vim/vimfiles'
find '%{buildroot}%{_datadir}/vim/vimfiles' \
-type f -name 'README.*' -print -delete
%check
%check -a
%if %{with tests}
# Lint output “Migrate long run directives into scripts or notebooks …” is
# apparently not expected by upstream
k="${k-}${k+ and }not test_lint[long_run-positive]"
# Needs a network connection
k="${k-}${k+ and }not test_tibanna"
# Requires py-tes. Currently not packaged for Fedora.
k="${k-}${k+ and }not test_tes"
# Require a running slurm instance; maybe this is possible to set up
# temporarily in the offline build environment, but we dont know how.
k="${k-}${k+ and }not test_slurm_"
# Needs a network connection (and GCP credentials):
ignore="${ignore-} --ignore=tests/test_google_lifesciences.py"
# ______ ERROR collecting tests/test_conda_python_script/test_script.py ______
# import file mismatch:
# imported module 'test_script' has this __file__ attribute:
# /builddir/build/BUILD/snakemake-7.31.1/tests/test_conda_python_3_7_script/test_script.py
# which is not the same as the test file we want to collect:
# /builddir/build/BUILD/snakemake-7.31.1/tests/test_conda_python_script/test_script.py
# HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
#
# Plus, this would add an unwanted BuildRequires on %%{py3_dist Pillow}.
ignore="${ignore-} --ignore-glob=tests/test_conda_python_3_7_script/*"
%pytest -v -k "${k-}" ${ignore-}
%if %{without network_tests}
# The following require network access (at least DNS) and pass if it is
# available.
k="${k-}${k+ and }not test_ancient"
k="${k-}${k+ and }not test_dynamic_container"
k="${k-}${k+ and }not test_github_issue78"
k="${k-}${k+ and }not test_issue1083"
k="${k-}${k+ and }not test_issue3361_pass"
k="${k-}${k+ and }not test_keep_local"
k="${k-}${k+ and }not test_modules_prefix"
k="${k-}${k+ and }not test_report_after_run"
k="${k-}${k+ and }not test_retrieve"
k="${k-}${k+ and }not test_shell_exec"
%endif
# These use the s3_storage test fixture, which sets up a server on the local
# loopback interface. For some reason, this does not seem to work in mock, with
# or without network access enabled. It is very likely that this is a quirk of
# the build environment rather than a real issue.
k="${k-}${k+ and }not test_default_storage"
k="${k-}${k+ and }not test_default_storage_local_job"
k="${k-}${k+ and }not test_output_file_cache_storage"
k="${k-}${k+ and }not test_storage"
# The following requires cwltool,
# https://github.com/common-workflow-language/cwltool, which is not packaged.
k="${k-}${k+ and }not test_cwl_singularity"
# The following requires polars, which is not packaged.
k="${k-}${k+ and }not test_params_pickling"
k="${k-}${k+ and }not test_validate"
# The following require the “pep” extra. They might also require network
# access.
k="${k-}${k+ and }not test_modules_peppy"
k="${k-}${k+ and }not test_pep_pathlib"
k="${k-}${k+ and }not test_peppy"
%if %{without conda_tests}
# All of these try to call conda info --json. We might experiment with making
# conda an unconditional BuildRequires, or with enabling the conda_tests bcond
# and filtering out the tests we cannot run, but we should wait for:
#
# F43FailsToInstall: python3-conda
# https://bugzilla.redhat.com/show_bug.cgi?id=2371696
k="${k-}${k+ and }not test_jupyter_notebook"
k="${k-}${k+ and }not test_jupyter_notebook_nbconvert"
k="${k-}${k+ and }not test_jupyter_notebook_draft"
%endif
# Flaky; so far, we have not attempted to understand or report these.
#
# FAILED ../tests/tests.py::test_update_flag - AssertionError: wrong result
# produced for file 'test.txt':
# ------found------
# foo
# -----expected-----
# foo
# bar
# -----------------
k="${k-}${k+ and }not test_update_flag"
# FAILED ../tests/tests.py::test_queue_input_dryrun -
# snakemake_interface_common.exceptions.WorkflowError: At least one job did not
# complete successfully.
# (produces no other useful output)
# Hangs on s390x; we have not attempted to understand or report this, although
# it would be nice to do so. For simplicity, we just skip it on all
# architectures.
k="${k-}${k+ and }not test_github_issue1158"
# Workaround for Python path issues
cd src/
# See discussion in https://github.com/snakemake/snakemake/issues/2961
# regarding running individual tests explicitly rather than letting pytest
# discover them freely, and see the “Running the full test suite” section in
# docs/project_info/contributing.rst for the list of tests that should be run.
# - tests/test_api.py requires network access and S3 credentials
%pytest -v -k "${k-}" ${ignore-} \
../tests/tests.py \
%if %{with conda_tests}
../tests/tests_using_conda.py \
%endif
../tests/test_expand.py \
../tests/test_io.py \
../tests/test_schema.py \
../tests/test_linting.py \
../tests/test_executor_test_suite.py \
../tests/test_internals.py
%endif
%files -f %{pyproject_files}
%doc CHANGELOG.md
%doc README.md
%doc README-nano.md
%doc README-vim.md
%{_bindir}/snakemake
%{_mandir}/man1/snakemake.1*
%{_bindir}/snakemake-bash-completion
%{bash_completions_dir}/snakemake.bash
# This is not owned by the filesystem package, and there is no nano-filesystem
# subpackage, so we co-own the directory to avoid depending on nano.
%dir %{_datadir}/nano/
@ -206,16 +594,6 @@ ignore="${ignore-} --ignore-glob=tests/test_conda_python_3_7_script/*"
%{_datadir}/vim/vimfiles/ftplugin/snakemake/
%{_datadir}/vim/vimfiles/syntax/snakemake.vim
%files doc
%license LICENSE.md
%doc CHANGELOG.md
%doc CODE_OF_CONDUCT.md
%doc README.md
%doc README-nano.md
%doc README-vim.md
%if %{with doc_pdf}
%doc docs/_build/latex/Snakemake.pdf
%endif
%changelog
%autochangelog

View file

@ -1 +1,2 @@
SHA512 (snakemake-7.32.4.tar.gz) = 34fef61528b18facab798652c88ed5c698ef02161e023255fdd024b7c7781c4e582cdb04b2740fdff9b6f3600acaec719742984acee57920bb48ef3b5af99d9a
SHA512 (snakemake-9.14.6.tar.gz) = 3858d5610271fbf3617e3b88b10b55546ddb2eafffa929a882bf5584c91f85280fa7c5b25bae8951e4feb5aa9568ba51c0979c35b37472d03e1efc239392f1ae
SHA512 (snakemake-9.14.6-assets.tar.zst) = c58043d640c14cdb4057b515ee65d8c8eb76a4abf34d7ebae70cc929023df780ef234dd5a8fa9d76a96bb1aceda8dab1c8f5337d72ff6bb9ae7d6b82c10a16a7