Skip to content

Conversation

@ebagrenrut
Copy link
Contributor

@ebagrenrut ebagrenrut commented Dec 15, 2025

  • Add BBMap 39.59
  • Change home page to https://bbmap.org/tools/bbmap, the current homepage for BBMap
  • Bbmap class now extends MakefilePackage
  • Add usejni variant that, when true, will cause the package to build libbbtoolsjni.so for acceleration.
  • Constrain the compiler dependency to gcc. Per the BBMap docs, and the contents of the makefile(s), gcc should be used.
  • BBMap requires Java 8 or later, and it is also a run-time dependency. The java dependency has been updated accordingly.
  • The BBMap source comes with makefiles for Linux and macOS (OS/X). The edit function is overridden to rename, based on the spec's platform, the appropriate file to Makefile.
  • The build function has been overridden to first run make clean, as the BBMap distribution ships with a pre-compiled library that is only for x86_64.

gabe.turner added 10 commits December 18, 2025 09:49
- Add BBMap 39.59
- `Bbmap` class now extends `MakefilePackage`
- Constrain the compiler dependency to `gcc`. Per the [BBMap docs](https://github.com/bbushnell/BBTools/blob/master/jni/README.txt),
  and the contents of the makefile(s), gcc should be used.
- Add a `gmake` dependency as `make` is needed to build BBMap's jni
  libraries
- BBMap requires Java 8 or later, and it is also a run-time dependency.
  The `java` dependency has been updated accordingly.
- The BBMap source comes with makefiles for Linux and macOS (OS/X). The
  `edit` function is overridden to rename, based on the spec's
  `platform`, the appropriate file to `Makefile`.
- The `build` function has been overridden to first run `make clean`, as
  the BBMap distribution ships with a pre-compiled library that is only
  for x86_64.
Add a `usejni` variant to enable/disable the compilation of
libbbtooljni. Some users may not need acceleration and may not want to
added dependencies.
Copy link
Member

@becker33 becker33 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't looked at the makefile, but we often see makefiles that hardcode GCC out of a lack of imagination (never considered the idea of another compiler) instead of because it fails with other compilers.

If it's worth pursuing, it's often as simple as having the edit phase use filter_file to replace the old settings with whatever compiler is being used.

@becker33 becker33 enabled auto-merge (squash) January 5, 2026 23:40
@becker33 becker33 merged commit 22f1fe2 into spack:develop Jan 6, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants