Skip to content
Snippets Groups Projects
Unverified Commit f1678f4c authored by Alec Scott's avatar Alec Scott Committed by GitHub
Browse files

bfs: add v4.0.5 (#49049)

* bfs: add v4.0.5, liburing: v2.4, v2.9

* Re-enable bfs on developer tools pipelines
parent dae3b69f
Branches
Tags
No related merge requests found
...@@ -38,7 +38,7 @@ spack: ...@@ -38,7 +38,7 @@ spack:
- ripgrep - ripgrep
- gh - gh
- fd - fd
# - bfs # liburing: /usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo' - bfs
- fzf - fzf
- tree - tree
- jq - jq
......
...@@ -37,7 +37,7 @@ spack: ...@@ -37,7 +37,7 @@ spack:
- ripgrep - ripgrep
- gh - gh
- fd - fd
# - bfs # liburing: /usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo' - bfs
- fzf - fzf
- tree - tree
- jq - jq
......
...@@ -44,7 +44,7 @@ spack: ...@@ -44,7 +44,7 @@ spack:
- ripgrep - ripgrep
- gh - gh
- fd - fd
# - bfs # liburing: /usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo' - bfs
- fzf - fzf
- tree - tree
- jq - jq
......
...@@ -6,15 +6,21 @@ ...@@ -6,15 +6,21 @@
class Bfs(MakefilePackage): class Bfs(MakefilePackage):
"""A breadth-first version of the UNIX find command.""" """BFS is a breadth-first variant of the UNIX find command that offers
consistent, intuitive behavior and improved performance."""
homepage = "https://github.com/tavianator/bfs" homepage = "https://github.com/tavianator/bfs"
url = "https://github.com/tavianator/bfs/archive/refs/tags/3.0.1.tar.gz" url = "https://github.com/tavianator/bfs/archive/refs/tags/3.0.1.tar.gz"
git = "https://github.com/tavianator/bfs.git"
maintainers("alecbcs") maintainers("alecbcs")
license("0BSD") license("0BSD")
sanity_check_is_file = ["bin/bfs"]
version("main", branch="main")
version("4.0.5", sha256="f7d9ebff00d9a010a5d6cc9b7bf1933095d7e5c0b11a8ec48c96c7ed8f993e5f")
version("4.0.4", sha256="209da9e9f43d8fe30fd689c189ea529e9d6b5358ce84a63a44721003aea3e1ca") version("4.0.4", sha256="209da9e9f43d8fe30fd689c189ea529e9d6b5358ce84a63a44721003aea3e1ca")
version("4.0.1", sha256="8117b76b0a967887278a11470cbfa9e7aeae98f11a7eeb136f456ac462e5ba23") version("4.0.1", sha256="8117b76b0a967887278a11470cbfa9e7aeae98f11a7eeb136f456ac462e5ba23")
version("3.1.1", sha256="d73f345c1021e0630e0db930a3fa68dd1f968833037d8471ee1096e5040bf91b") version("3.1.1", sha256="d73f345c1021e0630e0db930a3fa68dd1f968833037d8471ee1096e5040bf91b")
...@@ -23,12 +29,16 @@ class Bfs(MakefilePackage): ...@@ -23,12 +29,16 @@ class Bfs(MakefilePackage):
version("3.0.2", sha256="d3456a9aeecc031064db0dbe012e55a11eb97be88d0ab33a90e570fe66457f92") version("3.0.2", sha256="d3456a9aeecc031064db0dbe012e55a11eb97be88d0ab33a90e570fe66457f92")
version("3.0.1", sha256="a38bb704201ed29f4e0b989fb2ab3791ca51c3eff90acfc31fff424579bbf962") version("3.0.1", sha256="a38bb704201ed29f4e0b989fb2ab3791ca51c3eff90acfc31fff424579bbf962")
# Build dependencies
depends_on("c", type="build") depends_on("c", type="build")
# System dependencies
depends_on("acl", when="platform=linux") depends_on("acl", when="platform=linux")
depends_on("attr", when="platform=linux") depends_on("attr", when="platform=linux")
depends_on("libcap", when="platform=linux") depends_on("libcap", when="platform=linux")
depends_on("liburing", when="platform=linux @3.1:") depends_on("liburing@2.4:", when="platform=linux @3.1:")
# Required dependencies
depends_on("oniguruma") depends_on("oniguruma")
@run_before("build", when="@4:") @run_before("build", when="@4:")
...@@ -39,6 +49,7 @@ def configure(self): ...@@ -39,6 +49,7 @@ def configure(self):
configure_exe(*args) configure_exe(*args)
def install(self, spec, prefix): def install(self, spec, prefix):
"""Install the package."""
if spec.satisfies("@:3"): if spec.satisfies("@:3"):
make("install", f"PREFIX={prefix}") make("install", f"PREFIX={prefix}")
else: else:
......
...@@ -2,27 +2,50 @@ ...@@ -2,27 +2,50 @@
# #
# SPDX-License-Identifier: (Apache-2.0 OR MIT) # SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import * from spack.package import *
class Liburing(AutotoolsPackage): class Liburing(AutotoolsPackage):
"""This is the io_uring library, liburing. liburing provides helpers """Linux-native io_uring I/O access library.
to setup and teardown io_uring instances, and also a simplified interface
for applications that don't need (or want) to deal with the full kernel liburing provides helpers to setup and teardown io_uring instances,
side implementation.""" and a simplified interface for applications that don't need (or want)
to deal with the full kernel side implementation. It enables high-performance
asynchronous I/O operations on Linux systems supporting the io_uring
interface.
"""
homepage = "https://github.com/axboe/liburing" homepage = "https://github.com/axboe/liburing"
url = "https://github.com/axboe/liburing/archive/refs/tags/liburing-2.3.tar.gz" url = "https://github.com/axboe/liburing/archive/refs/tags/liburing-2.3.tar.gz"
git = "https://github.com/axboe/liburing.git" git = "https://github.com/axboe/liburing.git"
maintainers("alecbcs")
license("LGPL-2.1-or-later OR MIT") license("LGPL-2.1-or-later OR MIT")
# Sanity checks
sanity_check_is_file = ["include/liburing.h", "lib/liburing.so"]
sanity_check_is_dir = ["include", "lib"]
# Versions
version("master", branch="master") version("master", branch="master")
version("2.9", sha256="897b1153b55543e8b92a5a3eb9b906537a5fedcf8afaf241f8b8787940c79f8d")
version("2.4", sha256="2398ec82d967a6f903f3ae1fd4541c754472d3a85a584dc78c5da2fabc90706b")
version("2.3", sha256="60b367dbdc6f2b0418a6e0cd203ee0049d9d629a36706fcf91dfb9428bae23c8") version("2.3", sha256="60b367dbdc6f2b0418a6e0cd203ee0049d9d629a36706fcf91dfb9428bae23c8")
depends_on("c", type="build") # generated # Build dependencies
depends_on("cxx", type="build") # generated depends_on("c", type="build")
depends_on("cxx", type="build")
conflicts("platform=darwin", msg="Only supported on linux")
conflicts("platform=windows", msg="Only supported on linux") # Platform conflicts
conflicts("platform=darwin", msg="liburing is only supported on Linux.")
conflicts("platform=windows", msg="liburing is only supported on Linux.")
# Define build targets
@property
def build_targets(self):
if self.spec.satisfies("@2.7:"):
# avoid examples and test
return ["library"]
else:
return ["all"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment