mirror of https://github.com/aristocratos/btop.git
Compare commits
12 Commits
0bc46d9827
...
0baf893a10
Author | SHA1 | Date |
---|---|---|
Santhosh Raju | 0baf893a10 | |
Santhosh Raju | 5611cfee5e | |
Santhosh Raju | eac3086280 | |
Santhosh Raju | 61c5aa1af5 | |
Santhosh Raju | fe4b4b90d3 | |
Santhosh Raju | bd1c9bc164 | |
Santhosh Raju | aea95dbafc | |
Santhosh Raju | 7cf048d591 | |
Santhosh Raju | a61ebacafa | |
Santhosh Raju | 284969f395 | |
Santhosh Raju | bc2b2c3bfd | |
Santhosh Raju | 5641437e1a |
|
@ -0,0 +1,45 @@
|
||||||
|
name: NetBSD CMake
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: main
|
||||||
|
tags-ignore: '*.*'
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/cmake-netbsd.yml'
|
||||||
|
- 'CMakeLists.txt'
|
||||||
|
- 'include/**'
|
||||||
|
- 'src/*pp'
|
||||||
|
- 'src/netbsd/*pp'
|
||||||
|
pull_request:
|
||||||
|
branches: main
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/cmake-netbsd.yml'
|
||||||
|
- 'CMakeLists.txt'
|
||||||
|
- 'include/**'
|
||||||
|
- 'src/*pp'
|
||||||
|
- 'src/netbsd/*pp'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
cmake_build_on_netbsd:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Compile
|
||||||
|
uses: vmactions/netbsd-vm@v1
|
||||||
|
with:
|
||||||
|
release: '9.3'
|
||||||
|
usesh: true
|
||||||
|
prepare: |
|
||||||
|
PATH="/usr/pkg/sbin:/usr/pkg/bin:$PATH"
|
||||||
|
PKG_PATH="https://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All/"
|
||||||
|
export PATH PKG_PATH
|
||||||
|
/usr/sbin/pkg_add pkgin
|
||||||
|
pkgin -y install cmake ninja-build gcc10 coreutils git
|
||||||
|
git config --global --add safe.directory /home/runner/work/btop/btop
|
||||||
|
run: |
|
||||||
|
cmake -DCMAKE_CXX_COMPILER="/usr/pkg/gcc10/bin/g++" -B build -G Ninja -DBTOP_STATIC=ON
|
||||||
|
cmake --build build --verbose
|
|
@ -11,6 +11,7 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/linux/**'
|
- '!src/linux/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- '!src/openbsd/**'
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
|
@ -22,6 +23,7 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/linux/**'
|
- '!src/linux/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- '!src/openbsd/**'
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
|
|
|
@ -11,6 +11,7 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- '!src/openbsd/**'
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
|
@ -22,6 +23,7 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- '!src/openbsd/**'
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
|
|
|
@ -11,6 +11,7 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- '!src/openbsd/**'
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
|
@ -22,6 +23,7 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- '!src/openbsd/**'
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
|
|
|
@ -11,6 +11,7 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/linux/**'
|
- '!src/linux/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- '!src/openbsd/**'
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
|
@ -22,6 +23,7 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/linux/**'
|
- '!src/linux/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- '!src/openbsd/**'
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
name: Continuous Build NetBSD
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
tags-ignore:
|
||||||
|
- '*.*'
|
||||||
|
paths:
|
||||||
|
- 'src/**'
|
||||||
|
- '!src/linux/**'
|
||||||
|
- '!src/osx/**'
|
||||||
|
- '!src/freebsd/**'
|
||||||
|
- '!src/openbsd/**'
|
||||||
|
- 'include/**'
|
||||||
|
- 'Makefile'
|
||||||
|
- '.github/workflows/continuous-build-netbsd.yml'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'src/**'
|
||||||
|
- '!src/linux/**'
|
||||||
|
- '!src/osx/**'
|
||||||
|
- '!src/freebsd/**'
|
||||||
|
- '!src/openbsd/**'
|
||||||
|
- 'include/**'
|
||||||
|
- 'Makefile'
|
||||||
|
- '.github/workflows/continuous-build-netbsd.yml'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-netbsd:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
timeout-minutes: 20
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Compile
|
||||||
|
uses: vmactions/netbsd-vm@v1
|
||||||
|
|
||||||
|
with:
|
||||||
|
release: '9.3'
|
||||||
|
usesh: true
|
||||||
|
prepare: |
|
||||||
|
PATH="/usr/pkg/sbin:/usr/pkg/bin:$PATH"
|
||||||
|
PKG_PATH="https://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All/"
|
||||||
|
export PATH PKG_PATH
|
||||||
|
/usr/sbin/pkg_add pkgin
|
||||||
|
pkgin -y install gmake gcc10 coreutils git
|
||||||
|
git config --global --add safe.directory /home/runner/work/btop/btop
|
||||||
|
run: |
|
||||||
|
gmake CXX=/usr/pkg/gcc10/bin/g++ CXXFLAGS='-DNDEBUG -I/usr/pkg/gcc10/include -I/usr/include -I/usr/pkg/include' STATIC=true STRIP=true
|
||||||
|
GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
|
||||||
|
mv bin/btop bin/btop-GCC10-"$GIT_HASH"
|
||||||
|
ls -alh bin
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: btop-x86_64-netbsd-9.3
|
||||||
|
path: 'bin/*'
|
||||||
|
if-no-files-found: error
|
||||||
|
|
|
@ -12,6 +12,7 @@ on:
|
||||||
- '!src/linux/**'
|
- '!src/linux/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
- '.github/workflows/continuous-build-openbsd.yml'
|
- '.github/workflows/continuous-build-openbsd.yml'
|
||||||
|
@ -23,6 +24,7 @@ on:
|
||||||
- '!src/linux/**'
|
- '!src/linux/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
- '.github/workflows/continuous-build-openbsd.yml'
|
- '.github/workflows/continuous-build-openbsd.yml'
|
||||||
|
|
|
@ -9,6 +9,8 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
- '.github/workflows/test-snap-can-build.yml'
|
- '.github/workflows/test-snap-can-build.yml'
|
||||||
|
@ -18,6 +20,8 @@ on:
|
||||||
- 'src/**'
|
- 'src/**'
|
||||||
- '!src/osx/**'
|
- '!src/osx/**'
|
||||||
- '!src/freebsd/**'
|
- '!src/freebsd/**'
|
||||||
|
- '!src/netbsd/**'
|
||||||
|
- '!src/openbsd/**'
|
||||||
- 'include/**'
|
- 'include/**'
|
||||||
- 'Makefile'
|
- 'Makefile'
|
||||||
- '.github/workflows/test-snap-can-build.yml'
|
- '.github/workflows/test-snap-can-build.yml'
|
||||||
|
|
|
@ -66,6 +66,8 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
||||||
target_sources(btop PRIVATE src/freebsd/btop_collect.cpp)
|
target_sources(btop PRIVATE src/freebsd/btop_collect.cpp)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
||||||
target_sources(btop PRIVATE src/openbsd/btop_collect.cpp src/openbsd/sysctlbyname.cpp)
|
target_sources(btop PRIVATE src/openbsd/btop_collect.cpp src/openbsd/sysctlbyname.cpp)
|
||||||
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
|
||||||
|
target_sources(btop PRIVATE src/netbsd/btop_collect.cpp)
|
||||||
elseif(LINUX)
|
elseif(LINUX)
|
||||||
target_sources(btop PRIVATE src/linux/btop_collect.cpp)
|
target_sources(btop PRIVATE src/linux/btop_collect.cpp)
|
||||||
else()
|
else()
|
||||||
|
@ -208,6 +210,13 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
||||||
endif()
|
endif()
|
||||||
find_package(kvm REQUIRED)
|
find_package(kvm REQUIRED)
|
||||||
target_link_libraries(btop kvm::kvm)
|
target_link_libraries(btop kvm::kvm)
|
||||||
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
target_compile_options(btop PRIVATE -static-libstdc++ -std=c++20 -DNDEBUG)
|
||||||
|
endif()
|
||||||
|
find_package(kvm REQUIRED)
|
||||||
|
find_package(proplib REQUIRED)
|
||||||
|
target_link_libraries(btop kvm::kvm proplib::proplib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
6
Makefile
6
Makefile
|
@ -146,6 +146,12 @@ else ifeq ($(PLATFORM_LC),openbsd)
|
||||||
override ADDFLAGS += -lkvm -static-libstdc++
|
override ADDFLAGS += -lkvm -static-libstdc++
|
||||||
export MAKE = gmake
|
export MAKE = gmake
|
||||||
SU_GROUP := wheel
|
SU_GROUP := wheel
|
||||||
|
else ifeq ($(PLATFORM_LC),netbsd)
|
||||||
|
PLATFORM_DIR := netbsd
|
||||||
|
THREADS := $(shell sysctl -n hw.ncpu || echo 1)
|
||||||
|
override ADDFLAGS += -lkvm -lprop
|
||||||
|
export MAKE = gmake
|
||||||
|
SU_GROUP := wheel
|
||||||
else
|
else
|
||||||
$(error $(shell printf "\033[1;91mERROR: \033[97mUnsupported platform ($(PLATFORM))\033[0m"))
|
$(error $(shell printf "\033[1;91mERROR: \033[97mUnsupported platform ($(PLATFORM))\033[0m"))
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
# Find proplib – property container object library
|
||||||
|
#
|
||||||
|
|
||||||
|
if(BSD)
|
||||||
|
find_path(proplib_INCLUDE_DIR NAMES prop/proplib.h)
|
||||||
|
find_library(proplib_LIBRARY NAMES libprop prop)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(proplib REQUIRED_VARS proplib_LIBRARY proplib_INCLUDE_DIR)
|
||||||
|
|
||||||
|
if(proplib_FOUND AND NOT TARGET proplib::proplib)
|
||||||
|
add_library(proplib::proplib UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(proplib::proplib PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${proplib_LIBRARY}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${proplib_INCLUDE_DIR}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
mark_as_advanced(proplib_INCLUDE_DIR proplib_LIBRARY)
|
||||||
|
endif()
|
||||||
|
|
|
@ -293,7 +293,7 @@ void clean_quit(int sig) {
|
||||||
Global::quitting = true;
|
Global::quitting = true;
|
||||||
Runner::stop();
|
Runner::stop();
|
||||||
if (Global::_runner_started) {
|
if (Global::_runner_started) {
|
||||||
#if defined __APPLE__ || defined __OpenBSD__
|
#if defined __APPLE__ || defined __OpenBSD__ || defined __NetBSD__
|
||||||
if (pthread_join(Runner::runner_id, nullptr) != 0) {
|
if (pthread_join(Runner::runner_id, nullptr) != 0) {
|
||||||
Logger::warning("Failed to join _runner thread on exit!");
|
Logger::warning("Failed to join _runner thread on exit!");
|
||||||
pthread_cancel(Runner::runner_id);
|
pthread_cancel(Runner::runner_id);
|
||||||
|
@ -329,7 +329,7 @@ void clean_quit(int sig) {
|
||||||
|
|
||||||
const auto excode = (sig != -1 ? sig : 0);
|
const auto excode = (sig != -1 ? sig : 0);
|
||||||
|
|
||||||
#if defined __APPLE__ || defined __OpenBSD__
|
#if defined __APPLE__ || defined __OpenBSD__ || defined __NetBSD__
|
||||||
_Exit(excode);
|
_Exit(excode);
|
||||||
#else
|
#else
|
||||||
quick_exit(excode);
|
quick_exit(excode);
|
||||||
|
@ -1024,7 +1024,7 @@ int main(int argc, char **argv) {
|
||||||
Config::set("tty_mode", true);
|
Config::set("tty_mode", true);
|
||||||
Logger::info("Forcing tty mode: setting 16 color mode and using tty friendly graph symbols");
|
Logger::info("Forcing tty mode: setting 16 color mode and using tty friendly graph symbols");
|
||||||
}
|
}
|
||||||
#if not defined __APPLE__ && not defined __OpenBSD__
|
#if not defined __APPLE__ && not defined __OpenBSD__ && not defined __NetBSD__
|
||||||
else if (not Global::arg_tty and Term::current_tty.starts_with("/dev/tty")) {
|
else if (not Global::arg_tty and Term::current_tty.starts_with("/dev/tty")) {
|
||||||
Config::set("tty_mode", true);
|
Config::set("tty_mode", true);
|
||||||
Logger::info("Real tty detected: setting 16 color mode and using tty friendly graph symbols");
|
Logger::info("Real tty detected: setting 16 color mode and using tty friendly graph symbols");
|
||||||
|
|
|
@ -34,7 +34,7 @@ tab-size = 4
|
||||||
#include <ifaddrs.h>
|
#include <ifaddrs.h>
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
||||||
# include <kvm.h>
|
# include <kvm.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ namespace Shared {
|
||||||
|
|
||||||
extern long coreCount, page_size, clk_tck;
|
extern long coreCount, page_size, clk_tck;
|
||||||
|
|
||||||
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
||||||
struct KvmDeleter {
|
struct KvmDeleter {
|
||||||
void operator()(kvm_t* handle) {
|
void operator()(kvm_t* handle) {
|
||||||
kvm_close(handle);
|
kvm_close(handle);
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue