Fixed testing on guix.

This commit is contained in:
Xieamoe 2024-02-14 01:53:46 -08:00
parent 3f341ba924
commit 5175eb7566
No known key found for this signature in database
GPG key ID: 5B82D290CCD94C6D
4 changed files with 159 additions and 6 deletions

View file

@ -1,6 +1,7 @@
# Works with 3.14 and tested through 3.28 # Works with 3.14 and tested through 3.28
cmake_minimum_required(VERSION 3.14...3.28) cmake_minimum_required(VERSION 3.14...3.28)
project(Rdricpp project(Rdricpp
VERSION 0.2 VERSION 0.2
DESCRIPTION "Rikaitan Deinflector Reference Implementation in C++." DESCRIPTION "Rikaitan Deinflector Reference Implementation in C++."

View file

@ -69,9 +69,9 @@
(uri (uri
(git-reference (git-reference
(url "https://codeberg.org/xieamoe/rdricpp.git") (url "https://codeberg.org/xieamoe/rdricpp.git")
(commit "269b0e679e05fecf6d5b25ce8a105caa94361de5"))) (commit "8bfb4a86cc")))
(sha256 (sha256
(base32 "1db9wq9k2vsygwks0qp1bb4i4bpdklhz7h4iv5x24k17hwxkbjyh")))) (base32 "3f341ba9241d612ef2dbbf02ada0371534b86077"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -101,3 +101,4 @@
license:zlib)))) license:zlib))))
rdricpp rdricpp

140
rdricpp_local.scm Normal file
View file

@ -0,0 +1,140 @@
(define-module (gd-tools)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages search)
#:use-module (gnu packages web)
#:use-module (gnu packages gcc)
#:use-module (gnu packages tls)
#:use-module (gnu packages cpp)
#:use-module (gnu packages glib)
#:use-module (gnu packages nss)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages certs)
#:use-module (gnu packages check)
#:use-module (guix build-system qt)
#:use-module (gnu packages curl)
#:use-module (guix utils)
#:use-module (guix search-paths)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:))
(define-public catch2-full
(package
(name "Catch2")
(version "3.5.2")
(source (local-file "../Catch2-3.5.2" "guile-checkout"
#:recursive? #t))
(build-system cmake-build-system)
(arguments
( list #:cmake cmake
#:tests? #f
)
)
(native-inputs
(list
gcc-13
pkg-config
))
(synopsis "C++ Requests: Curl for People ")
(description
"Catch2 is mainly a unit testing framework for C++, but it also
provides basic micro-benchmarking features, and simple BDD macros.
Catch2's main advantage is that using it is both simple and natural.
Test names do not have to be valid identifiers, assertions look like
normal C++ boolean expressions, and sections provide a nice and local
way to share set-up and tear-down code in tests.")
(home-page "https://github.com/catchorg/Catch2")
(license
(list license:boost1.0))))
(define-public libcpr
(package
(name "cpr")
(version "1.5")
(source (local-file "./cpr-1.10.5" "guile-checkout"
#:recursive? #t))
(build-system cmake-build-system)
(arguments
( list #:cmake cmake
#:tests? #f
)
)
(native-inputs
(list
openssl
gcc-13
curl
pkg-config
))
(inputs
(list
curl
openssl
))
(synopsis "C++ Requests: Curl for People ")
(description
"C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project.
Despite its name, libcurl's easy interface is anything but, and making mistakes,
misusing it is a common source of error and frustration. Using the more expressive
language facilities of C++17 'or C++11 in case you use cpr < 1.10.0', this library
captures the essence of making network calls into a few concise idioms.")
(home-page "https://github.com/libcpr/cpr")
(license
(list license:expat))))
(define-public rdricpp
(package
(name "rdricpp")
(version "1.5")
(source (local-file "" "guile-checkout"
#:recursive? #t))
(build-system cmake-build-system)
(arguments
( list #:cmake cmake
;;#:tests? #f
#:configure-flags
#~(list "-DGUIX=1")
)
)
(native-inputs
(list
gcc-13
pkg-config
))
(inputs
(list
catch2-full
))
(synopsis "Rikaitan Deinflector Reference Implementation in C++.")
(description
"Rikaitan Deinflector Reference Implementation in C++.")
(home-page "https://github.com/Ajatt-Tools/rdricpp")
(license
(list license:gpl3+
license:zlib))))
rdricpp

View file

@ -1,5 +1,10 @@
# Testing library # Testing library
if (APPLE OR UNIX OR WIN32 NOT guix)
message("Guix = ${GUIX}")
if ( (NOT ${GUIX}) )
message("NOT GUIX")
include(FetchContent)
FetchContent_Declare( FetchContent_Declare(
catch catch
GIT_REPOSITORY https://github.com/catchorg/Catch2.git GIT_REPOSITORY https://github.com/catchorg/Catch2.git
@ -7,12 +12,18 @@ if (APPLE OR UNIX OR WIN32 NOT guix)
FetchContent_MakeAvailable(catch) FetchContent_MakeAvailable(catch)
endif() #Adds Catch2::Catch2 endif() #Adds Catch2::Catch2
#If building manually
#add_subdirectory(Catch2-3.5.2) #add_subdirectory(Catch2-3.5.2)
include(CTest) include(CTest)
#include(Catch)
if ( ${GUIX} )
include(Catch.cmake) include(Catch.cmake)
else()
include(Catch)
endif()
add_executable(tests tests.cpp test_cases.cpp test_cases.h) add_executable(tests tests.cpp test_cases.cpp test_cases.h)
target_compile_features(tests PRIVATE cxx_std_23) target_compile_features(tests PRIVATE cxx_std_23)