Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rang for openSUSE:Factory checked in at 2026-05-23 23:26:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rang (Old) and /work/SRC/openSUSE:Factory/.rang.new.2084 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rang" Sat May 23 23:26:55 2026 rev:3 rq:1354875 version:3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/rang/rang.changes 2022-12-18 17:22:30.217303540 +0100 +++ /work/SRC/openSUSE:Factory/.rang.new.2084/rang.changes 2026-05-23 23:28:43.544014798 +0200 @@ -1,0 +2,7 @@ +Sat May 23 15:39:50 UTC 2026 - Andrea Manzini <[email protected]> + +- Update to version 3.3 + * This is a minor release to bump minimum cmake version to 3.10 and migrate + to conan 2(from 1 since it's deprecated now) + +------------------------------------------------------------------- Old: ---- rang-3.2.tar.gz New: ---- rang-3.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rang.spec ++++++ --- /var/tmp/diff_new_pack.HE5uSZ/_old 2026-05-23 23:28:43.964031944 +0200 +++ /var/tmp/diff_new_pack.HE5uSZ/_new 2026-05-23 23:28:43.964031944 +0200 @@ -1,7 +1,7 @@ # # spec file for package rang # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,11 +17,11 @@ Name: rang -Version: 3.2 +Version: 3.3 Release: 0 Summary: A C++ library for color emission in the terminal # The Unlicense, see LICENSE file -License: SUSE-Public-Domain +License: LicenseRef-SUSE-Public-Domain URL: https://agauniyal.github.io/rang Source0: https://github.com/agauniyal/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: pkgconfig ++++++ rang-3.2.tar.gz -> rang-3.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/.github/workflows/ci.yml new/rang-3.3/.github/workflows/ci.yml --- old/rang-3.2/.github/workflows/ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/rang-3.3/.github/workflows/ci.yml 2026-05-16 17:30:31.000000000 +0200 @@ -0,0 +1,90 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build-conan: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install conan meson ninja + shell: bash + - name: Test Conan + run: | + conan profile detect --force || true + conan create . + + build-meson: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install meson ninja gcovr + if [ "$RUNNER_OS" == "Linux" ]; then + sudo apt-get update + sudo apt-get install -y doctest-dev + fi + shell: bash + - name: Test Meson (Linux with coverage) + if: runner.os == 'Linux' + run: | + meson setup build_meson -Db_coverage=true + meson compile -C build_meson + meson test -C build_meson + ninja -C build_meson coverage-xml + - name: Test Meson (Other) + if: runner.os != 'Linux' + run: | + meson setup build_meson + meson compile -C build_meson + meson test -C build_meson + - name: Upload to Codecov + if: runner.os == 'Linux' + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + + build-cmake: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Install dependencies + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get install -y doctest-dev + shell: bash + - name: Test CMake + run: | + cmake -S . -B build_cmake -DBUILD_TESTING=ON + cmake --build build_cmake + ctest --test-dir build_cmake -C Debug --output-on-failure diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/.gitignore new/rang-3.3/.gitignore --- old/rang-3.2/.gitignore 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/.gitignore 2026-05-16 17:30:31.000000000 +0200 @@ -29,3 +29,14 @@ build/ .vscode/ + +# Conan +conanbuildinfo.* +conaninfo.txt +conanbuild.sh +conanrun.sh +deactivate_conanbuild.sh +deactivate_conanrun.sh +test_package/build*/ +CMakeUserPresets.json +venv/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/CMakeLists.txt new/rang-3.3/CMakeLists.txt --- old/rang-3.2/CMakeLists.txt 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/CMakeLists.txt 2026-05-16 17:30:31.000000000 +0200 @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.10) project(rang VERSION 3.2.0 @@ -62,6 +62,10 @@ set(INSTALL_TARGETS rang) +# Install the library and headers. +install(TARGETS ${INSTALL_TARGETS} EXPORT ${targets_export_name} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + # Use a namespace because CMake provides better diagnostics for namespaced # imported targets. export(TARGETS ${INSTALL_TARGETS} NAMESPACE rang:: @@ -74,7 +78,15 @@ DESTINATION ${RANG_CMAKE_DIR} ) +install(EXPORT ${targets_export_name} + DESTINATION ${RANG_CMAKE_DIR} + NAMESPACE rang::) + install(FILES ${RANG_HEADERS} DESTINATION "${RANG_INC_DIR}") install(FILES "${pkgconfig}" DESTINATION "${RANG_PKGCONFIG_DIR}") - +option(BUILD_TESTING "Build tests" ON) +if(BUILD_TESTING) + enable_testing() + add_subdirectory(test) +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/README.md new/rang-3.3/README.md --- old/rang-3.2/README.md 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/README.md 2026-05-16 17:30:31.000000000 +0200 @@ -1,4 +1,4 @@ -# rang [](https://travis-ci.org/agauniyal/rang) [](https://ci.appveyor.com/project/agauniyal/rang) [](https://codecov.io/gh/agauniyal/rang) [  ](https://bintray.com/agauniyal/rang/rang%3Arang/_latestVersion) +# rang [](https://github.com/agauniyal/rang/actions/workflows/ci.yml) [](https://codecov.io/gh/agauniyal/rang) ##### Colors for your Terminal. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/appveyor.yml new/rang-3.3/appveyor.yml --- old/rang-3.2/appveyor.yml 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/appveyor.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -environment: - matrix: - - arch: x64 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - compiler: msvc2017 - - arch: x64 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - compiler: msvc2015 - -install: - - ps: wget 'https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip' -OutFile ninja.zip - - cmd: 7z x ninja.zip -oC:\ninja > nul - - cmd: set PATH=C:\ninja;%PATH% - - - cmd: set MESON_PYTHON_PATH=C:\python35-x64 - - cmd: set PATH=%MESON_PYTHON_PATH%;%MESON_PYTHON_PATH%\Scripts;%PATH% - - ps: $PKG_CONFIG_URL="http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/pkg-config_0.23-2_win64.zip"; - - ps: $GLIB_URL="http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib_2.26.1-1_win64.zip"; - - ps: $GETTEXT_URL="http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.zip"; - - ps: wget $GLIB_URL -OutFile glib.zip - - ps: wget $GETTEXT_URL -OutFile gettext.zip - - ps: wget $PKG_CONFIG_URL -OutFile pkg_config.zip - - ps: wget 'https://github.com/OpenCppCoverage/OpenCppCoverage/releases/download/release-0.9.6.1/OpenCppCoverageSetup-x64-0.9.6.1.exe' -OutFile coverage_setup.exe - - cmd: coverage_setup.exe /VERYSILENT - - - cmd: 7z x glib.zip -oC:\glib > nul - - cmd: 7z x gettext.zip -oC:\gettext > nul - - cmd: 7z x pkg_config.zip -oC:\pkg_config > nul - - - cmd: set OPENCPPPATH="C:\\Program Files\\OpenCppCoverage" - - cmd: set PATH=C:\glib\bin\;C:\gettext\bin\;C:\pkg_config\bin\;%OPENCPPPATH%;%PATH% - - cmd: python -m pip install meson conan codecov - - - cmd: if %compiler%==msvc2015 ( call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %arch% ) - - cmd: if %compiler%==msvc2017 ( if %arch%==x64 ( call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat")) - - cmd: conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan - - -build_script: - - cmd: mkdir build && cd build - - cmd: conan install .. - - cmd: conan build .. - - cmd: meson configure -Dbuildtype=debug - - cmd: meson configure -Dwarning_level=3 - - cmd: ninja - - cmd: cd test - - cmd: mainTest.exe - - cmd: colorTest.exe - - cmd: envTermMissing.exe - - cmd: OpenCppCoverage --sources C:\projects\rang --export_type=binary:envTermMissingReport.bin -- envTermMissing.exe - - cmd: OpenCppCoverage --sources C:\projects\rang --export_type=binary:mainTestReport.bin -- mainTest.exe - - cmd: OpenCppCoverage --sources C:\projects\rang --export_type=binary:colorTestReport.bin -- colorTest.exe - - cmd: OpenCppCoverage --sources C:\projects\rang --export_type=cobertura:overallReport.xml --input_coverage=mainTestReport.bin --input_coverage=envTermMissingReport.bin --input_coverage=colorTestReport.bin - - cmd: codecov --root ../.. --no-color --disable gcov -f overallReport.xml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/conanfile.py new/rang-3.3/conanfile.py --- old/rang-3.2/conanfile.py 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/conanfile.py 2026-05-16 17:30:31.000000000 +0200 @@ -1,5 +1,7 @@ -from conans import ConanFile, Meson - +import os +from conan import ConanFile +from conan.tools.meson import MesonToolchain, Meson +from conan.tools.files import copy class RangConan(ConanFile): name = "rang" @@ -7,19 +9,34 @@ license = "The Unlicense" url = "https://github.com/agauniyal/rang" description = "A Minimal, Header only Modern c++ library for colors in your terminal" - generators = "pkg_config" - build_requires = "doctest/1.2.6@bincrafters/stable" - exports_sources = "*" - settings = "build_type" + settings = "os", "compiler", "build_type", "arch" + exports_sources = "meson.build", "include/*", "test/*", "CMakeLists.txt", "LICENSE", "README.md", "cmake/*" + + def requirements(self): + self.test_requires("doctest/2.4.11") + + def build_requirements(self): + self.tool_requires("pkgconf/2.1.0") + + def layout(self): + from conan.tools.layout import basic_layout + basic_layout(self) + + def generate(self): + tc = MesonToolchain(self) + tc.generate() + from conan.tools.gnu import PkgConfigDeps + pc = PkgConfigDeps(self) + pc.generate() def build(self): meson = Meson(self) - meson.configure(cache_build_folder="build") + meson.configure() meson.build() def package(self): - self.copy("*.hpp") - self.copy(pattern="LICENSE", dst="licenses", keep_path=False) + copy(self, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) def package_id(self): - self.info.header_only() + self.info.clear() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/meson.build new/rang-3.3/meson.build --- old/rang-3.2/meson.build 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/meson.build 2026-05-16 17:30:31.000000000 +0200 @@ -3,8 +3,15 @@ inc = include_directories('include') -doctest = dependency('doctest') -subdir('test') +rang_dep = declare_dependency(include_directories:inc) -run_target('cppcheck', command : ['cppcheck', '--project=' + - join_paths(meson.build_root(), 'compile_commands.json')]) +doctest = dependency('doctest', required: false) +if doctest.found() + subdir('test') +endif + +cppcheck = find_program('cppcheck', required: false) +if cppcheck.found() + run_target('cppcheck', command : ['cppcheck', '--project=' + + join_paths(meson.build_root(), 'compile_commands.json')]) +endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/test/CMakeLists.txt new/rang-3.3/test/CMakeLists.txt --- old/rang-3.2/test/CMakeLists.txt 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/test/CMakeLists.txt 2026-05-16 17:30:31.000000000 +0200 @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.10) project(rang-test) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/test/test.cpp new/rang-3.3/test/test.cpp --- old/rang-3.2/test/test.cpp 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/test/test.cpp 2026-05-16 17:30:31.000000000 +0200 @@ -1,5 +1,5 @@ #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN -#include "doctest.h" +#include <doctest/doctest.h> #include "rang.hpp" #include <fstream> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/test_package/CMakeLists.txt new/rang-3.3/test_package/CMakeLists.txt --- old/rang-3.2/test_package/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/rang-3.3/test_package/CMakeLists.txt 2026-05-16 17:30:31.000000000 +0200 @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.10) +project(rang_test CXX) + +find_package(rang REQUIRED) + +add_executable(visualTest visualTest.cpp) +target_link_libraries(visualTest PRIVATE rang::rang) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/test_package/conanfile.py new/rang-3.3/test_package/conanfile.py --- old/rang-3.2/test_package/conanfile.py 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/test_package/conanfile.py 2026-05-16 17:30:31.000000000 +0200 @@ -1,17 +1,30 @@ -from conans import ConanFile, Meson import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout -class RangConan(ConanFile): - generators = "pkg_config" - exports_sources = "*" - def build(self): - meson = Meson(self) - meson.configure() - meson.build() +class RangTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) - def imports(self): - self.copy("*.hpp") + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): - self.run(".%svisualTest" % os.sep) + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "visualTest") + self.run(cmd, env="conanrun") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rang-3.2/test_package/meson.build new/rang-3.3/test_package/meson.build --- old/rang-3.2/test_package/meson.build 2021-07-30 16:22:25.000000000 +0200 +++ new/rang-3.3/test_package/meson.build 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -project('rang', 'cpp', version : '3.2.0', - default_options : ['cpp_std=c++11']) - -inc = include_directories('include') - -visualTest = executable('visualTest', 'visualTest.cpp', include_directories : inc) -test('visualTest', visualTest)
