@@ -6117,3 +6117,59 @@ (define-public python-gymnasium
"This package provides a standard API for reinforcement learning and a
diverse set of reference environments (formerly Gym).")
(license license:expat)))
+
+(define-public rtneural
+ (let ((commit "f9c2c646c6bf5a9a74cf0fd0e062e1351dde6208") ;no releases
+ (revision "0"))
+ (package
+ (name "rtneural")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jatinchowdhury18/RTNeural")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i2f5s6kjn9ivm17wbil0imgqfzxqpdw5avqdnha30czv5wa62ls"))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ ;; unbundle
+ (delete-file-recursively "modules")
+ (substitute* "RTNeural/model_loader.h"
+ (("#include \"../modules/json/json.hpp\"")
+ "#include <nlohmann/json.hpp>"))
+ (substitute* (find-files "RTNeural" "\\.h$")
+ (("#include <Eigen/")
+ "#include <eigen3/Eigen/"))
+ (substitute* "CMakeLists.txt"
+ (("include\\(cmake/CPM\\.cmake\\)") ""))
+ (substitute* "RTNeural/CMakeLists.txt"
+ (("STATIC") "SHARED"))
+ (substitute* "cmake/Testing.cmake"
+ (("CPMAddPackage.*$") ""))))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DBUILD_TESTS=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ (let ((inc (string-append #$output "/include/RTNeural"))
+ (lib (string-append #$output "/lib")))
+ (for-each (lambda (file)
+ (install-file file lib))
+ (find-files "." "\\.so"))
+ (with-directory-excursion "../source/RTNeural"
+ (for-each (lambda (file)
+ (install-file file inc))
+ (find-files "." "\\.h")))))))))
+ (inputs (list eigen nlohmann-json))
+ (home-page "https://github.com/jatinchowdhury18/RTNeural")
+ (synopsis "Real-time neural network interface library")
+ (description
+ "This package provides a neural network inferencing engine written in
+ C++. The library was designed with the intention of being used in real-time
+ systems, specifically real-time audio processing.")
+ (license license:bsd-3))))