From 5ae0c39c0475eb0b8b82c7488e0de314f00a5b4d Mon Sep 17 00:00:00 2001 From: lucocozz Date: Wed, 13 May 2026 15:43:39 +0200 Subject: [PATCH] [Chore] Remove stale packaging/ directory The packaging/ folder held local copies of recipes for Conan, vcpkg, xmake and Meson WrapDB. These were never kept in sync with what was actually submitted upstream (some had placeholder hashes, others were outdated versions). The published recipes live in their respective upstream registries, which is the source of truth. Future updates will be orchestrated via a dedicated workflow that generates the recipes on demand rather than maintaining stale local copies. Also fixes a misleading CHANGELOG line that claimed packaging metadata was bumped in v0.2.1 (it wasn't). --- CHANGELOG.md | 2 +- packaging/conan/conandata.yml | 4 -- packaging/conan/conanfile.py | 77 --------------------- packaging/conan/test_package/CMakeLists.txt | 7 -- packaging/conan/test_package/conanfile.py | 26 ------- packaging/conan/test_package/test_package.c | 29 -------- packaging/vcpkg/argus.json | 9 --- packaging/vcpkg/portfile.cmake | 27 -------- packaging/vcpkg/vcpkg.json | 24 ------- packaging/wrapdb/argus.wrap | 8 --- packaging/xmake/xmake.lua | 18 ----- 11 files changed, 1 insertion(+), 230 deletions(-) delete mode 100644 packaging/conan/conandata.yml delete mode 100644 packaging/conan/conanfile.py delete mode 100644 packaging/conan/test_package/CMakeLists.txt delete mode 100644 packaging/conan/test_package/conanfile.py delete mode 100644 packaging/conan/test_package/test_package.c delete mode 100644 packaging/vcpkg/argus.json delete mode 100644 packaging/vcpkg/portfile.cmake delete mode 100644 packaging/vcpkg/vcpkg.json delete mode 100644 packaging/wrapdb/argus.wrap delete mode 100644 packaging/xmake/xmake.lua diff --git a/CHANGELOG.md b/CHANGELOG.md index 34cbd29..65a4315 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - `FLAG_REQUIRED` is now enforced on options (not just positional arguments), at both root and subcommand levels (#54). -- Bumped `ARGUS_VERSION` and packaging metadata to match the actual released version (previously stuck at `0.1.0`). +- Bumped `ARGUS_VERSION` to match the actual released version (previously stuck at `0.1.0`). ## [0.2.0] - 2025-10-01 diff --git a/packaging/conan/conandata.yml b/packaging/conan/conandata.yml deleted file mode 100644 index 008933a..0000000 --- a/packaging/conan/conandata.yml +++ /dev/null @@ -1,4 +0,0 @@ -sources: - "0.1.0": - url: "https://github.com/lucocozz/Argus/archive/refs/tags/v0.1.0.tar.gz" - sha256: "" diff --git a/packaging/conan/conanfile.py b/packaging/conan/conanfile.py deleted file mode 100644 index 58acf09..0000000 --- a/packaging/conan/conanfile.py +++ /dev/null @@ -1,77 +0,0 @@ -from conan import ConanFile -from conan.tools.meson import Meson, MesonToolchain -from conan.tools.files import get, copy -from conan.tools.layout import basic_layout -import os - -class ArgusConan(ConanFile): - name = "argus" - version = "0.1.0" - description = "Modern C library for command-line argument parsing with an elegant, macro-based API" - topics = ("conan", "argus", "libargus", "command-line", "arguments", "parser", "cli", "argparse") - url = "https://github.com/lucocozz/argus" - homepage = "https://github.com/lucocozz/argus" - license = "MIT" - settings = "os", "arch", "compiler", "build_type" - options = { - "shared": [True, False], - "fPIC": [True, False], - "regex": [True, False], - } - default_options = { - "shared": False, - "fPIC": True, - "regex": True, - } - - def configure(self): - if self.options.shared: - self.options.rm_safe("fPIC") - self.settings.rm_safe("compiler.libcxx") - self.settings.rm_safe("compiler.cppstd") - - def layout(self): - basic_layout(self, src_folder="src") - - def requirements(self): - if self.options.regex: - self.requires("pcre2/[>=10.40]") - - def build_requirements(self): - self.tool_requires("meson/[>=1.0.0]") - self.tool_requires("ninja/[>=1.10.2 <2]") - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) - - def generate(self): - tc = MesonToolchain(self) - tc.project_options["buildtype"] = str(self.settings.build_type).lower() - tc.project_options["regex"] = self.options.regex - tc.project_options["tests"] = False - tc.project_options["examples"] = False - tc.project_options["benchmarks"] = False - if self.settings.build_type == "RelWithDebInfo": - tc.project_options["buildtype"] = "release" - tc.generate() - - def build(self): - meson = Meson(self) - meson.configure() - meson.build() - - def package(self): - copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) - meson = Meson(self) - meson.install() - - def package_info(self): - self.cpp_info.set_property("cmake_file_name", "argus") - self.cpp_info.set_property("cmake_target_name", "argus::argus") - self.cpp_info.libs = ["argus"] - if self.options.regex: - self.cpp_info.defines.append("ARGUS_REGEX") - if self.settings.os == "Linux": - self.cpp_info.system_libs.append("m") - self.cpp_info.set_property("cmake_find_mode", "both") - self.cpp_info.set_property("pkg_config_name", "argus") diff --git a/packaging/conan/test_package/CMakeLists.txt b/packaging/conan/test_package/CMakeLists.txt deleted file mode 100644 index 6f31738..0000000 --- a/packaging/conan/test_package/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(test_package C) - -find_package(argus REQUIRED) - -add_executable(test_package test_package.c) -target_link_libraries(test_package argus::argus) diff --git a/packaging/conan/test_package/conanfile.py b/packaging/conan/test_package/conanfile.py deleted file mode 100644 index 0ef21e3..0000000 --- a/packaging/conan/test_package/conanfile.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from conan import ConanFile -from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout - -class ArgusTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "CMakeDeps", "CMakeToolchain" - - def requirements(self): - self.requires(self.tested_reference_str) - - def layout(self): - cmake_layout(self) - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if self.settings.os == "Windows": - return - if can_run(self): - cmd = os.path.join(self.cpp.build.bindir, "test_package") - self.run(f"{cmd} -v", env="conanrun") diff --git a/packaging/conan/test_package/test_package.c b/packaging/conan/test_package/test_package.c deleted file mode 100644 index e6855f3..0000000 --- a/packaging/conan/test_package/test_package.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "argus.h" -#include - -ARGUS_OPTIONS( - options, - HELP_OPTION(), - OPTION_FLAG('v', "verbose", HELP("Enable verbose mode")), - OPTION_STRING('o', "output", HELP("Output file"), DEFAULT("output.txt")) -) - -int main(int argc, char **argv) -{ - argus_t argus = argus_init(options, "test_package", "1.0.0"); - - int status = argus_parse(&argus, argc, argv); - if (status != ARGUS_SUCCESS) { - return status; - } - - bool verbose = argus_get(argus, "verbose").as_bool; - const char *output = argus_get(argus, "output").as_string; - - printf("Test package ran successfully!\n"); - printf(" Verbose: %s\n", verbose ? "yes" : "no"); - printf(" Output: %s\n", output); - - argus_free(&argus); - return 0; -} diff --git a/packaging/vcpkg/argus.json b/packaging/vcpkg/argus.json deleted file mode 100644 index 7d31ddd..0000000 --- a/packaging/vcpkg/argus.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "versions": [ - { - "git-tree": "9c4f49c55663f06e265f6dcedd82e17f990ddba8", - "version": "0.1.0", - "port-version": 0 - } - ] -} diff --git a/packaging/vcpkg/portfile.cmake b/packaging/vcpkg/portfile.cmake deleted file mode 100644 index cd8c5c4..0000000 --- a/packaging/vcpkg/portfile.cmake +++ /dev/null @@ -1,27 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO lucocozz/argus - REF v${VERSION} - SHA512 74bb7eebb1f328d3b27c51c2cec74f87b0a11fd7c801bb3d2d4b56b8ed7448461043f8f01b68f69cee67c2c73217ebb8b641a5e76a632052910ddb13b750045f - HEAD_REF main -) - -set(OPTIONS "") -if(NOT "regex" IN_LIST FEATURES) - list(APPEND OPTIONS -Dregex=false) -endif() -vcpkg_configure_meson( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${OPTIONS} - -Dbenchmarks=false - -Dexamples=false - -Dtests=false -) - -vcpkg_install_meson() -vcpkg_fixup_pkgconfig() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/packaging/vcpkg/vcpkg.json b/packaging/vcpkg/vcpkg.json deleted file mode 100644 index c662487..0000000 --- a/packaging/vcpkg/vcpkg.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "Argus", - "version": "0.1.0", - "description": "Modern C library for command-line argument parsing with an elegant, macro-based API", - "homepage": "https://github.com/lucocozz/argus", - "license": "MIT", - "dependencies": [ - { - "name": "vcpkg-tool-meson", - "host": true - } - ], - "default-features": [ - "regex" - ], - "features": { - "regex": { - "description": "Enable regex validation support using PCRE2", - "dependencies": [ - "pcre2" - ] - } - } -} diff --git a/packaging/wrapdb/argus.wrap b/packaging/wrapdb/argus.wrap deleted file mode 100644 index 1e33221..0000000 --- a/packaging/wrapdb/argus.wrap +++ /dev/null @@ -1,8 +0,0 @@ -[wrap-file] -directory = argus-0.1.0 -source_url = https://github.com/lucocozz/argus/archive/v0.1.0.tar.gz -source_filename = argus-0.1.0.tar.gz -source_hash = HASH - -[provide] -argus = argus_dep diff --git a/packaging/xmake/xmake.lua b/packaging/xmake/xmake.lua deleted file mode 100644 index d2bc8a9..0000000 --- a/packaging/xmake/xmake.lua +++ /dev/null @@ -1,18 +0,0 @@ -package("argus") - set_homepage("https://github.com/lucocozz/argus") - set_description("Modern C library for command-line argument parsing with an elegant, declarative API") - set_license("MIT") - - add_urls("https://github.com/lucocozz/argus/archive/refs/tags/v$(version).tar.gz") - add_versions("0.1.0", "HASH_TO_REPLACE") - - add_configs("regex", {description = "Enable regex validation support using PCRE2", default = true, type = "boolean"}) - - on_install(function (package) - local configs = {"-Dregex=" .. (package:config("regex") and "true" or "false")} - import("package.tools.meson").install(package, configs) - end) - - on_test(function (package) - assert(package:has_cfuncs("argus_init", {includes = "argus.h"})) - end)