[med-svn] [Git][med-team/libbiosoup-dev][upstream] New upstream version 0.11.0

Michael R. Crusoe (@crusoe) gitlab at salsa.debian.org
Thu Mar 21 13:27:15 GMT 2024



Michael R. Crusoe pushed to branch upstream at Debian Med / libbiosoup-dev


Commits:
edb0f264 by Michael R. Crusoe at 2024-03-21T14:22:14+01:00
New upstream version 0.11.0
- - - - -


10 changed files:

- + .github/workflows/biosoup.yml
- .gitignore
- − .travis.yml
- CMakeLists.txt
- README.md
- + include/meson.build
- + meson.build
- + meson_options.txt
- + subprojects/gtest.wrap
- + test/meson.build


Changes:

=====================================
.github/workflows/biosoup.yml
=====================================
@@ -0,0 +1,66 @@
+name: biosoup CI
+
+on:
+  push:
+  pull_request:
+    branches:
+      - master
+
+env:
+  BUILD_TYPE: Release
+
+jobs:
+  test:
+    strategy:
+      matrix:
+        compiler:
+          - g++-7
+          - g++
+          - clang++-6.0
+          - clang++
+
+    runs-on: ubuntu-20.04
+
+    steps:
+      - uses: actions/checkout at v3
+
+      - if: ${{ contains(matrix.compiler, '-') }}
+        name: Get compiler version
+        id: get-compiler-version
+        run: |
+          version=$(echo ${{ matrix.compiler }} | cut -d- -f2)
+          echo "version=$version" >> $GITHUB_OUTPUT
+
+      - if: ${{ startsWith(matrix.compiler, 'g++-') }}
+        name: Setup GCC
+        uses: egor-tensin/setup-gcc at v1
+        with:
+          version: "${{ steps.get-compiler-version.outputs.version }}"
+          platform: x64
+
+      - if: ${{ startsWith(matrix.compiler, 'clang++-') }}
+        name: Setup Clang
+        uses: egor-tensin/setup-clang at v1
+        with:
+          version: "${{ steps.get-compiler-version.outputs.version }}"
+          platform: x64
+
+      - name: Configure CMake
+        run: |
+          cmake -B ${{ github.workspace }}/build_cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
+          cmake --build ${{ github.workspace }}/build_cmake
+        env:
+          CXX: ${{ matrix.compiler }}
+
+      - name: Configure Meson
+        uses: BSFishy/meson-build at v1.0.3
+        with:
+          action: build
+          directory: build_meson
+          meson-version: 0.60.0
+
+      - name: Test
+        working-directory: ${{ github.workspace }}
+        run: |
+          build_cmake/bin/biosoup_test
+          build_meson/test/biosoup_test


=====================================
.gitignore
=====================================
@@ -1,2 +1,5 @@
 # Compiled Object files
 build
+
+/subprojects/*
+!/subprojects/*.wrap


=====================================
.travis.yml deleted
=====================================
@@ -1,43 +0,0 @@
-language: cpp
-
-matrix:
-  include:
-    - name: "GCC 4.8 (Linux)"  # GCC 4.8.5 & CMake 3.12.4
-      os: linux
-      dist: xenial
-      addons:
-        apt:
-          sources:
-            - ubuntu-toolchain-r-test
-          packages:
-            - g++-4.8
-      env:
-        - SET_COMPILER="export CC=gcc-4.8 && export CXX=g++-4.8"
-
-    - name: "Clang 3.5 (Linux)"  # Clang 3.5.2 & CMake 3.12.4
-      os: linux
-      dist: xenial
-      addons:
-        apt:
-          packages:
-            - clang-3.5
-      env:
-        - SET_COMPILER="export CC=clang-3.5 && export CXX=clang++-3.5"
-
-    - name: "Clang Xcode 9.4 (OSX)"  # Clang 9.4.1 & CMake 3.15.5
-      os: osx
-      osx_image: xcode9.4
-
-before_install:
-  - eval "${SET_COMPILER}"
-
-install:
-  - mkdir build && cd build
-  - cmake -DCMAKE_BUILD_TYPE=Release .. && make
-
-script:
-  - ./bin/biosoup_test
-
-notifications:
-  email:
-    on_failure: always


=====================================
CMakeLists.txt
=====================================
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.11)
 
-project(biosoup VERSION 0.10.0
+project(biosoup VERSION 0.11.0
                 LANGUAGES CXX
                 DESCRIPTION "Biosoup is a c++ collection of header only data structures used for storage and logging in bioinformatics tools.")
 


=====================================
README.md
=====================================
@@ -1,43 +1,42 @@
 # Biosoup
 
-[![Build status for gcc/clang](https://travis-ci.com/rvaser/biosoup.svg?branch=master)](https://travis-ci.com/rvaser/biosoup)
+![Build status for gcc/clang](https://github.com/rvaser/biosoup/actions/workflows/biosoup.yml/badge.svg)
 
 Biosoup is a c++ collection of header only data structures used for storage and logging in bioinformatics tools.
 
-## Usage
+## Build
+
+### Dependencies
+
+- gcc 4.8+ | clang 3.5+
+
+#### Hidden
+- (biosoup_test) google/googletest 1.10.0
+
+### CMake (3.11+)
 
-To build biosoup run the following commands:
 ```bash
-git clone https://github.com/rvaser/biosoup && cd biosoup && mkdir build && cd build
-cmake -DCMAKE_BUILD_TYPE=Release .. && make
-```
-which will create install targets and unit tests. Running `make install` will create a package on your system that can be searched and linked with:
-```cmake
-find_package(biosoup)
-target_link_libraries(<target> biosoup::biosoup)
+git clone https://github.com/rvaser/biosoup && cd biosoup
+cmake -B build -DCMAKE_BUILD_TYPE=Release
+make -C build
 ```
-On the other hand, you can include biosoup as a submodule and add it to your project with the following:
-```cmake
-if (NOT TARGET biosoup)
-  add_subdirectory(<path_to_submodules>/biosoup EXCLUDE_FROM_ALL)
-endif ()
-target_link_libraries(<target> biosoup::biosoup)
-```
-
-If you are not using CMake, include the appropriate header file directly to your project.
 
-#### Build options
+#### Options
 
 - `biosoup_install`: generate install target
 - `biosoup_build_tests`: build unit tests
 
-#### Dependencies
+### Meson (0.60.0+)
 
-- gcc 4.8+ | clang 3.5+
-- (optional) cmake 3.11+
+```bash
+git clone https://github.com/rvaser/biosoup && cd biosoup
+meson setup build
+ninja -C build
+```
+
+#### Options
 
-###### Hidden
-- (biosoup_test) googletest 1.10.0
+- `tests`: build unit tests
 
 ## Acknowledgement
 


=====================================
include/meson.build
=====================================
@@ -0,0 +1,19 @@
+###########
+# Headers #
+###########
+
+biosoup_include_directories = include_directories(['.'])
+
+if meson.is_subproject()
+  subdir_done()
+endif
+
+install_headers(
+  files([
+    'biosoup/nucleic_acid.hpp',
+    'biosoup/overlap.hpp',
+    'biosoup/progress_bar.hpp',
+    'biosoup/sequence.hpp',
+    'biosoup/timer.hpp',
+  ]),
+  subdir : 'biosoup')


=====================================
meson.build
=====================================
@@ -0,0 +1,45 @@
+project(
+  'biosoup',
+  ['cpp'],
+  version : '0.11.0',
+  default_options : [
+    'buildtype=release',
+    'warning_level=3',
+    'cpp_std=c++11',
+    'b_ndebug=if-release'],
+  license : 'MIT',
+  meson_version : '>=0.60.0'
+)
+
+###########
+# Headers #
+###########
+
+subdir('include')
+
+#########
+# Tests #
+#########
+
+if (not meson.is_subproject()) and get_option('tests')
+  biosoup_gtest_dep = dependency('gtest', version : '>= 1.10.0', main : true, fallback : ['gtest', 'gtest_main_dep'])
+
+  subdir('test')
+endif
+
+###################
+# Dependency info #
+###################
+
+if (not meson.is_subproject())
+  import('pkgconfig').generate(
+    name : 'biosoup',
+    version : meson.project_version(),
+    filebase : 'biosoup',
+    description : 'C++ collection of header only bioinformatics data structures used for storage and logging.')
+endif
+
+biosoup_dep = declare_dependency(
+  include_directories : biosoup_include_directories,
+  version : meson.project_version()
+)


=====================================
meson_options.txt
=====================================
@@ -0,0 +1,8 @@
+#########
+# Tests #
+#########
+
+option('tests',
+  type : 'boolean',
+  value : true,
+  description : 'Enable dependencies required for testing')


=====================================
subprojects/gtest.wrap
=====================================
@@ -0,0 +1,16 @@
+[wrap-file]
+directory = googletest-release-1.10.0
+
+source_url = https://github.com/google/googletest/archive/release-1.10.0.zip
+source_filename = gtest-1.10.0.zip
+source_hash = 94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91
+
+patch_url = https://wrapdb.mesonbuild.com/v2/gtest_1.10.0-1/get_patch
+patch_filename = gtest-1.10.0-1-wrap.zip
+patch_hash = 04ff14e8880e4e465f6260221e9dfd56fea6bc7cce4c4aff0dc528e4a2c8f514
+
+wrapdb_version = 1.10.0-1
+
+[provide]
+gtest = gtest_dep
+gtest_main = gtest_main_dep


=====================================
test/meson.build
=====================================
@@ -0,0 +1,24 @@
+###########
+# Sources #
+###########
+
+biosoup_test_sources = files([
+  'nucleic_acid_test.cpp',
+  'overlap_test.cpp',
+  'progress_bar_test.cpp',
+  'sequence_test.cpp',
+  'timer_test.cpp',
+])
+
+biosoup_test = executable(
+  'biosoup_test',
+  biosoup_test_sources,
+  dependencies : biosoup_gtest_dep,
+  include_directories : biosoup_include_directories,
+  install : false)
+
+#########
+# Tests #
+#########
+
+test('biosoup gtest unit tests', biosoup_test)



View it on GitLab: https://salsa.debian.org/med-team/libbiosoup-dev/-/commit/edb0f2649eb5ca77c6cd783a7932d6498815c968

-- 
View it on GitLab: https://salsa.debian.org/med-team/libbiosoup-dev/-/commit/edb0f2649eb5ca77c6cd783a7932d6498815c968
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240321/05df5a40/attachment-0001.htm>


More information about the debian-med-commit mailing list