From 235ad7c77e7867eac975627f0f49b1a44d9ef6ed Mon Sep 17 00:00:00 2001 From: msglm Date: Sat, 3 Aug 2024 21:14:58 -0500 Subject: add torrenttools --- archival.scm | 301 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 archival.scm diff --git a/archival.scm b/archival.scm new file mode 100644 index 0000000..9994073 --- /dev/null +++ b/archival.scm @@ -0,0 +1,301 @@ +(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)))) -- cgit v1.2.3