(define-module (archival) #:use-module ((guix licenses) :prefix license:) #:use-module (gnu packages calendar) #:use-module (gnu packages check) #:use-module (gnu packages commencement) #:use-module (gnu packages cpp) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages django) #:use-module (gnu packages golang) #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-check) #:use-module (gnu packages golang-web) #:use-module (gnu packages golang-xyz) #:use-module (gnu packages maths) #:use-module (gnu packages node) #:use-module (gnu packages openldap) #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) #:use-module (gnu packages pth) #:use-module (gnu packages python-build) #:use-module (gnu packages tbb) #:use-module (gnu packages python-check) #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (guix gexp) #:use-module (gnu packages regex) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages xml) #:use-module (gnu packages) #:use-module (guix build utils) #:use-module (guix build-system cmake) #:use-module (guix build-system go) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) ) (define-public expected-lite (package (name "expected-lite") (version "0.8.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/martinmoene/expected-lite.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0dqa6ivqqyg5c2xyp1dakqnm4mf1m4g8bsi5jscgvv82pi3zxdzh")))) (build-system cmake-build-system) ;(inputs (list fmt-10 gsl)) ;(arguments ;`( ; #:tests? #f) ;) ; no tests (home-page "https://github.com/expected-lite/expected-lite") (synopsis "expected lite - Expected objects in C++11 and later in a single-file header-only library") (description "expected lite is a single-file header-only library for objects that either represent a valid value or an error that you can pass by value. It is intended for use with C++11 and later. The library is based on the std::expected proposal.") (license (license:x11-style "https://github.com/martinmoene/expected-lite/blob/master/LICENSE.txt" )))) (define-public gsl-lite (package (name "gsl-lite") (version "0.41.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/gsl-lite/gsl-lite.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0aj2ck2jdiy05f83bknjb9zjvsi766d11fv6flxm0v9ngp3s5svj")))) (build-system cmake-build-system) (arguments `( #:tests? #f) ) ; no tests (home-page "https://github.com/gsl-lite/gsl-lite") (synopsis "gsl-lite – A single-file header-only version of ISO C++ Guidelines Support Library (GSL) for C++98, C++11, and later") (description "gsl-lite is an implementation of the C++ Core Guidelines Support Library originally based on Microsoft GSL.") (license (list license:expat)))) (define-public fbdtemme-cliprogress (package (name "fbdtemme-cliprogress") (version "d8ac5169cb50abcf2f8a33c4f40f193e16176bd1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fbdtemme/cliprogress") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "11r3g8vrnf5hl6iv92fk5sxg7ahdvxwxaszwvaxjc14xx0q37xaz")))) (build-system cmake-build-system) (arguments (list #:configure-flags #~(list "-DCLIPROGRESS_BUILD_TESTS=OFF" "-DCLIPROGRESS_BUILD_EXAMPLES=OFF" ) )) (inputs (list fmt gsl-lite palacaze-sigslot compile-time-regular-expressions fbdtemme-termcontrol pth catch2)) (home-page "https://github.com/fbdtemme/cliprogress") (synopsis "A flexible widget based progress bar for C++") (description "A flexible widget based progress bar for C++") (license #f))) (define-public fbdtemme-dottorrent (package (name "fbdtemme-dottorrent") (version "4488d3e63b97bbcad392147e46c88587d83a1bc3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fbdtemme/dottorrent") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1686jldv4npaxd91jakm9qdg1x3wqhs1sf84lmlalsfympbd1pcp")))) (build-system cmake-build-system) (native-inputs (list catch2)) (inputs (list fmt gsl-lite compile-time-regular-expressions expected-lite bencode openssl)) (arguments (list #:configure-flags #~(list "-DDOTTORRENT_BUILD_TESTS=OFF" "-DCMAKE_INSTALL_INCLUDEDIR=include" ) )) (home-page "https://github.com/fbdtemme/dottorrent") (synopsis "A BitTorrent metafile library.") (description "A C++20 library for working with BitTorrent metafiles. This library is used in the torrenttools project. Use outside of the torrenttools project is currently not recommended due to a lack of documentation.") (license license:expat))) (define-public fbdtemme-termcontrol (package (name "fbdtemme-termcontrol") (version "adfb2741d5e1ecc710c6cfe573d134299c74d899") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fbdtemme/termcontrol") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1wxs5p97hhpa4sz3dv3am9cic8wq6cfgffz5ccgqzxrv9ldnqy6w")))) (build-system cmake-build-system) (native-inputs (list catch2)) (inputs (list fmt gsl-lite compile-time-regular-expressions expected-lite)) (arguments (list #:configure-flags #~(list "-DTERMCONTROL_BUILD_TESTS=OFF" "-DCMAKE_INSTALL_INCLUDEDIR=include" ) )) (home-page "https://github.com/fbdtemme/termcontrol") (synopsis "A library for ecma-48 control sequences.") (description "A small C++20 library for ANSI control sequences and terminal bits.") (license license:expat))) (define-public palacaze-sigslot (package (name "palacaze-sigslot") (version "1.2.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/palacaze/sigslot") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "085a49yh2ankyi0flmxiisvnf71jrw4dv2f2bgblgwg9n5j5barh")))) (build-system cmake-build-system) (arguments `( #:tests? #f) ; tests are unable to be run ) (home-page "https://github.com/palacaze/sigslot") (synopsis "A simple C++14 signal-slots implementation") (description "Sigslot is a header-only, thread safe implementation of signal-slots for C++.") (license (list license:asl2.0)))) (define-public bencode (package (name "bencode") (version "d30b335336c02f43100930b73e1da3fb8a388927") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fbdtemme/bencode") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0ghqxs4ynyhhbxmbk2g2nfg7rk53glccyi3xgk4rik8hmms9hm9x")))) (build-system cmake-build-system) (inputs (list fmt gsl-lite gcc-toolchain-14 expected-lite)) (arguments (list #:configure-flags #~(list "-DBENCODE_BUILD_TESTS=OFF" ) )) (home-page "https://github.com/fbdtemme/bencode") (synopsis "A C++20 header-only bencode library.") (description "A header-only C++20 bencode serialization/deserialization library.") (license (list license:expat)))) (define-public compile-time-regular-expressions (package (name "compile-time-regular-expressions") (version "3.9.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/hanickadot/compile-time-regular-expressions") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0m1j7r7m8npsh4sm0bc87x121alr2nyjyldf86c78l1qm9w7qv0n")))) (build-system cmake-build-system) (arguments `( #:tests? #f)) ; no tests (home-page "https://github.com/hanickadot/compile-time-regular-expressions") (synopsis "Compile Time Regular Expression in C++") (description "Fast compile-time regular expressions with support for matching/searching/capturing during compile-time or runtime.") (license (list license:asl2.0)))) (define-public re2-cmake (package (inherit re2) (name "re2") (version "2022-12-01") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/google/re2.git") (commit version) )) (file-name (git-file-name name version)) (sha256 (base32 "0g627a5ppyarhf2ph4gyzj89pwbkwfjfajgljzkmjafjmdyxfqs6")))) (build-system cmake-build-system) (arguments '(#:configure-flags (list (string-append "-DCMAKE_INSTALL_INCLUDEDIR=INCLUDE")))) )) (define-public torrenttools (package (name "torrenttools") (version "50240659223031364f48798e361e6f470f2d50c8") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fbdtemme/torrenttools.git") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "02cabrb1qpd44ild1bf6x2fy3pm5vnmw04nfav41gkxmjsx29c34")))) (build-system cmake-build-system) (inputs (list gcc-toolchain-14 fmt gsl-lite cli11 expected-lite nlohmann-json re2-cmake yaml-cpp compile-time-regular-expressions palacaze-sigslot date bencode fbdtemme-termcontrol fbdtemme-cliprogress fbdtemme-dottorrent tbb openssl)) ;(arguments ;`(#:phases (modify-phases %standard-phases ; (delete 'configure)) ; no configure script ; #:make-flags (list (string-append "CC=" ,(cc-for-target)) ; (string-append "PREFIX=" (assoc-ref %outputs "out")) ; "NO_HASH_CHECK=1" ; "USE_LARGE_FILES=1" ; "USE_LONG_OPTIONS=1" ; "USE_PTHREADS=1") ; #:tests? #f)) ; no tests (home-page "https://github.com/fbdtemme/torrenttools.git") (synopsis "Commandline tool for inspecting, creating and editing BitTorrent metafiles.") (description "A commandline tool for creating, inspecting and modifying bittorrent metafiles.") (license (list license:expat))))