summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/reproducible-build.patch13
-rw-r--r--packages/ruby-nano-bots.scm612
2 files changed, 0 insertions, 625 deletions
diff --git a/packages/reproducible-build.patch b/packages/reproducible-build.patch
deleted file mode 100644
index 963f07c..0000000
--- a/packages/reproducible-build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/babosa.gemspec b/babosa.gemspec
-index 502c217..492be89 100644
---- a/babosa.gemspec
-+++ b/babosa.gemspec
-@@ -28,8 +28,4 @@ Gem::Specification.new do |s|
-
- s.required_ruby_version = ">= 2.6.0"
-
-- s.cert_chain = [File.expand_path("certs/parndt.pem", __dir__)]
-- if $PROGRAM_NAME.end_with?("gem") && ARGV.include?("build") && ARGV.include?(__FILE__)
-- s.signing_key = File.expand_path("~/.ssh/gem-private_key.pem")
-- end
- end
diff --git a/packages/ruby-nano-bots.scm b/packages/ruby-nano-bots.scm
deleted file mode 100644
index 38d374a..0000000
--- a/packages/ruby-nano-bots.scm
+++ /dev/null
@@ -1,612 +0,0 @@
-;;; SPDX-License-Identifier: GPL-3.0-or-later
-;;; SPDX-FileCopyrightText: 2026 Marek Paśnikowski <marek@marekpasnikowski.pl>
-
-;;; COPYRIGHT NOTICE
-;;;
-;;; Copyright 2026, Marek Paśnikowski <marek@marekpasnikowski.pl>
-
-;;; LICENSE NOTICE
-;;;
-;;; This library is free software: you can redistribute it and/or modify it under the terms of
-;;; the GNU General Public License as published by the Free Software Foundation,
-;;; either version 3 of the License, or (at your option) any later version.
-;;;
-;;; This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-;;; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-;;; See the GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License along with this library.
-;;; If not, see <https://www.gnu.org/licenses/>.
-
-(define-module (packages ruby-nano-bots)
- #:use-module (gnu packages)
- #:use-module (gnu packages curl)
- #:use-module (gnu packages ruby-check)
- #:use-module (gnu packages ruby-xyz)
- #:use-module (guix build-system ruby)
- #:use-module (guix download)
- #:use-module ((guix licenses)
- #:prefix license:)
- #:use-module (guix packages))
-
-;;; ABSTRACTION -4
-
-(define ruby-google-style
- (package
- (name "ruby-google-style")
- (version "1.27.1")
- (source
- (origin
- (uri
- (rubygems-uri "google-style" "1.27.1"))
- (method url-fetch)
- (hash
- (content-hash "1h7il47mn160idh8gjliy597n31gn9cq77jq65gkd93kcrszjpxa"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-rubocop))
- (synopsis "A spec-compliant event stream parser")
- (description
- (string-append
- "It only deals with the parsing of events and not any of the"
- " client/transport aspects. This is not a Server-sent Events (SSE)"
- " client."))
- (license license:expat)
- (home-page "https://github.com/norman/babosa")))
-
-;;; ABSTRACTION -3
-
-(define ruby-google-cloud-env
- (package
- (name "ruby-google-cloud-env")
- (version "2.1.1")
- (source
- (origin
- (uri
- (rubygems-uri "google-cloud-env" "2.1.1"))
- (method url-fetch)
- (hash
- (content-hash "16b9yjbrzal1cjkdbn29fl06ikjn1dpg1vdsjak1xvhpsp3vhjyg"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-faraday))
- (synopsis "A spec-compliant event stream parser")
- (description
- (string-append
- "It only deals with the parsing of events and not any of the"
- " client/transport aspects. This is not a Server-sent Events (SSE)"
- " client."))
- (license license:expat)
- (home-page "https://github.com/norman/babosa")))
-
-(define ruby-os
- (package
- (name "ruby-os")
- (version "1.1.4")
- (source
- (origin
- (uri
- (rubygems-uri "os" "1.1.4"))
- (method url-fetch)
- (hash
- (content-hash "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (native-inputs
- (list ruby-rake ruby-rspec ruby-test-unit))
- (synopsis "A spec-compliant event stream parser")
- (description
- (string-append
- "It only deals with the parsing of events and not any of the"
- " client/transport aspects. This is not a Server-sent Events (SSE)"
- " client."))
- (license license:expat)
- (home-page "https://github.com/norman/babosa")))
-
-(define ruby-signet
- (package
- (name "ruby-signet")
- (version "0.18.0")
- (source
- (origin
- (uri
- (rubygems-uri "signet" "0.18.0"))
- (method url-fetch)
- (hash
- (content-hash "0fzakk5y7zzii76zlkynpp1c764mzkkfg4mpj18f5pf2xp1aikb6"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-addressable ruby-faraday ruby-jwt ruby-multi-json))
- (native-inputs
- (list
- ruby-google-style
- ruby-kramdown
- ruby-launchy
- ruby-rake
- ruby-redcarpet
- ruby-rspec
- ruby-yard))
- (synopsis "A spec-compliant event stream parser")
- (description
- (string-append
- "It only deals with the parsing of events and not any of the"
- " client/transport aspects. This is not a Server-sent Events (SSE)"
- " client."))
- (license license:expat)
- (home-page "https://github.com/norman/babosa")))
-
-;;; ABSTRACTION -2
-
-(define ruby-event_stream_parser
- (package
- (name "ruby-event_stream_parser")
- (version "1.0.0")
- (source
- (origin
- (uri
- (rubygems-uri "event_stream_parser" "1.0.0"))
- (method url-fetch)
- (hash
- (content-hash "1j73glgif3f97q3znq9ih67h5i7zd1wqzj2d33w8cqhjf2mkns52"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (synopsis "A spec-compliant event stream parser")
- (description
- (string-append
- "It only deals with the parsing of events and not any of the"
- " client/transport aspects. This is not a Server-sent Events (SSE)"
- " client."))
- (license license:expat)
- (home-page "https://github.com/norman/babosa")))
-
-(define ruby-faraday-typhoeus
- (package
- (name "ruby-faraday-typhoeus")
- (version "1.1.0")
- (source
- (origin
- (uri
- (rubygems-uri "faraday-typhoeus" "1.1.0"))
- (method url-fetch)
- (hash
- (content-hash "1rwhd2f78vqj0wkkdah395apx6igp5xf82n5xgixs61q45y19ii4"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-faraday ruby-typhoeus-1.4.1))
- (synopsis "A library for creating slugs.")
- (description
- (string-append
- "Babosa is an extraction and improvement of the string code from"
- " FriendlyId, intended to help developers create similar libraries or"
- " plugins."))
- (license license:expat)
- (home-page "https://github.com/norman/babosa")))
-
-(define ruby-googleauth
- (package
- (name "ruby-googleauth")
- (version "1.9.2")
- (source
- (origin
- (uri
- (rubygems-uri "googleauth" "1.9.2"))
- (method url-fetch)
- (hash
- (content-hash "1qpvsvcag90nw2fjws12m96hsicpmcv04v35j9aiik9rmxxvlk9h"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list
- ruby-faraday
- ruby-google-cloud-env
- ruby-jwt
- ruby-multi-json
- ruby-os
- ruby-signet))
- (synopsis "A library for creating slugs.")
- (description
- (string-append
- "Babosa is an extraction and improvement of the string code from"
- " FriendlyId, intended to help developers create similar libraries or"
- " plugins."))
- (license license:expat)
- (home-page "https://github.com/norman/babosa")))
-
-(define ruby-typhoeus-1.4.1
- (package
- (inherit ruby-typhoeus)
- (version "1.4.1")
- (source
- (origin
- (uri
- (rubygems-uri "typhoeus" "1.4.1"))
- (method url-fetch)
- (hash
- (content-hash "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw"))))))
-
-;;; ABSTRACTION -1
-
-(define ruby-babosa
- (package
- (name "ruby-babosa")
- (version "2.0.0")
- (source
- (origin
- (uri
- (rubygems-uri "babosa" "2.0.0"))
- (method url-fetch)
- (hash
- (content-hash "19mqrnyizr1ipdp26vhrg0hwb851bwyvrs6xc29dk3ywljw8s8d6"))))
- (build-system ruby-build-system)
- (native-inputs
- (list
- ruby-rubocop
- ruby-rspec
- ruby-simplecov))
- (synopsis "A library for creating slugs.")
- (description
- (string-append
- "Babosa is an extraction and improvement of the string code from"
- " FriendlyId, intended to help developers create similar libraries or"
- " plugins."))
- (license license:expat)
- (home-page "https://github.com/norman/babosa")))
-
-(define ruby-cohere-ai
- (package
- (name "ruby-cohere-ai")
- (version "1.0.2")
- (source
- (origin
- (uri
- (rubygems-uri "cohere-ai" "1.0.2"))
- (method url-fetch)
- (hash
- (content-hash "03nni5ab1zh176zrqfjkn34hy1xhwdjkqybjr8ih1pnwf9c94dbm"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-faraday))
- (synopsis "A Ruby gem for interacting with Cohere AI platform.")
- (description
- (string-append
- "This Gem is designed to provide low-level access to Cohere AI, enabling"
- " people to build abstractions on top of it. If you are interested in more"
- " high-level abstractions or more user-friendly tools, you may want to"
- " consider Nano Bots."))
- (license license:expat)
- (home-page "https://rubygems.org/gems/cohere-ai")))
-
-(define ruby-faraday-2.9
- (package
- (inherit ruby-faraday)
- (version "2.9.0")
- (source
- (origin
- (uri
- (rubygems-uri "faraday" "2.9.0"))
- (method url-fetch)
- (hash
- (content-hash "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s"))))
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-faraday-net-http))))
-
-(define ruby-gemini-ai
- (package
- (name "ruby-gemini-ai")
- (version "3.2.0")
- (source
- (origin
- (uri
- (rubygems-uri "gemini-ai" "3.2.0"))
- (method url-fetch)
- (hash
- (content-hash "1fbk135pf99i20hnxn50rzsv5ln9b7ibifcnya40blbbxcsxk01q"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list
- ruby-event_stream_parser
- ruby-faraday
- ruby-faraday-typhoeus
- ruby-googleauth
- ruby-typhoeus-1.4.1))
- (synopsis
- (string-append
- "A Ruby Gem for interacting with Gemini through Vertex AI, Generative"
- " Language API, or AI Studio, Google's generative AI services."))
- (description
- (string-append
- "This Gem is designed to provide low-level access to Gemini, enabling"
- " people to build abstractions on top of it. If you are interested in more"
- " high-level abstractions or more user-friendly tools, you may want to"
- " consider Nano Bots."))
- (license license:expat)
- (home-page "https://rubygems.org/gems/gemini-ai")))
-
-(define ruby-maritaca-ai
- (package
- (name "ruby-maritaca-ai")
- (version "1.0.1")
- (source
- (origin
- (uri
- (rubygems-uri "maritaca-ai" "1.0.1"))
- (method url-fetch)
- (hash
- (content-hash "1n2a9197l8zvwg3m5837qs8m1dd562zs703gqc28c5za09qfgxcb"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-faraday))
- (synopsis
- "A Ruby gem for interacting with Maritaca AI's large language models.")
- (description
- (string-append
- "This Gem is designed to provide low-level access to MariTalk, enabling"
- " people to build abstractions on top of it. If you are interested in more"
- " high-level abstractions or more user-friendly tools, you may want to"
- " consider Nano Bots."))
- (license license:expat)
- (home-page "https://rubygems.org/gems/gemini-ai")))
-
-(define ruby-mistral-ai
- (package
- (name "ruby-mistral-ai")
- (version "1.1.2")
- (source
- (origin
- (uri
- (rubygems-uri "mistral-ai" "1.1.2"))
- (method url-fetch)
- (hash
- (content-hash "1yvzg4aqlh2kfg7s1ai67q47z29pq8qcg2qzv2cmrycw2pzcr4c7"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-event_stream_parser ruby-faraday))
- (synopsis
- "A Ruby gem for interacting with Mistral AI's large language models.")
- (description
- (string-append
- "This Gem is designed to provide low-level access to Mistral, enabling"
- " people to build abstractions on top of it. If you are interested in more"
- " high-level abstractions or more user-friendly tools, you may want to"
- " consider Nano Bots."))
- (license license:expat)
- (home-page "https://rubygems.org/gems/gemini-ai")))
-
-(define ruby-ollama-ai
- (package
- (name "ruby-ollama-ai")
- (version "1.0.1")
- (source
- (origin
- (uri
- (rubygems-uri "ollama-ai" "1.0.1"))
- (method url-fetch)
- (hash
- (content-hash "05f0ir94j4qjgrnq7alsss2g3njlxf9b404i2jc8y4vd16450sy6"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list ruby-faraday))
- (synopsis
- (string-append
- "A Ruby gem for interacting with Ollama's API that allows you to run open"
- " source AI LLMs (Large Language Models) locally."))
- (description
- (string-append
- "This Gem is designed to provide low-level access to Ollama, enabling"
- " people to build abstractions on top of it. If you are interested in more"
- " high-level abstractions or more user-friendly tools, you may want to"
- " consider Nano Bots"))
- (license license:expat)
- (home-page "https://rubygems.org/gems/gemini-ai")))
-
-(define ruby-rainbow-3.1
- (package
- (inherit ruby-rainbow)
- (version "3.1.1")
- (source
- (origin
- (uri
- (rubygems-uri "rainbow" "3.1.1"))
- (method url-fetch)
- (hash
- (content-hash "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"))))))
-
-(define ruby-redcarpet-3.6
- (package
- (inherit ruby-redcarpet)
- (version "3.6.0")
- (source
- (origin
- (uri
- (rubygems-uri "redcarpet" "3.6.0"))
- (method url-fetch)
- (hash
- (content-hash "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"))))))
-
-(define ruby-openai
- (package
- (name "ruby-openai")
- (version "6.3.1")
- (source
- (origin
- (uri
- (rubygems-uri "ruby-openai" "6.3.1"))
- (method url-fetch)
- (hash
- (content-hash "06jc0zn69gcriw103f2knmzba7zv57md3m4wb9jgdf5d06iyjmwb"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (inputs
- (list
- ruby-event_stream_parser
- ruby-faraday
- ruby-faraday-multipart
- ruby-rspec-core))
- (synopsis "OpenAI API + Ruby!")
- (description
- (string-append
- "Stream text with GPT-4, transcribe and translate audio with Whisper, or"
- " create images with DALL·E..."))
- (license license:expat)
- (home-page "https://rubygems.org/gems/gemini-ai")))
-
-(define ruby-sweet-moon
- (package
- (name "ruby-sweet-moon")
- (version "0.0.7")
- (source
- (origin
- (uri
- (rubygems-uri "sweet-moon" "0.0.7"))
- (method url-fetch)
- (hash
- (content-hash "16kdf7hfxci6iljw7fmq2xc7dyqpb81rzfdqjgw00p0p7sckgwz9"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check))))
- (synopsis "Lua / Fennel from Ruby and vice versa.")
- (description
- (string-append
- "Lua / Fennel from Ruby and vice versa. Support to LuaJIT, Lua 5.0, and"
- " 5.1. Lua C API for Lua 5, 4, and 3. LuaRocks and fnx integration."))
- (license license:expat)
- (home-page "https://rubygems.org/gems/sweet-moon")))
-
-;;; ABSTRACTION 0
-
-(define-public ruby-nano-bots
- (package
- (name "ruby-nano-bots")
- (version "3.0.1")
- (source
- (origin
- (uri
- (rubygems-uri "nano-bots" "3.0.1"))
- (method url-fetch)
- (hash
- (content-hash "14cnllgxl0w6jj1kcmh6vskl17k42skarsrld4r2f9ajnxxd1avk"))))
- (build-system ruby-build-system)
- (arguments
- '(#:phases
- (modify-phases
- %standard-phases
- (delete 'check)
- (add-after
- 'wrap
- 'include-curl
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (wrap-program
- (search-input-file outputs "bin/nb")
- `("LD_LIBRARY_PATH"
- suffix
- ,(list
- (dirname
- (search-input-file inputs "lib/libcurl.so"))))))))))
- (inputs
- (list
- curl
- ruby-addressable
- ruby-babosa
- ruby-cohere-ai
- ruby-concurrent-ruby
- ruby-dotenv
- ruby-event_stream_parser
- ruby-faraday-2.9
- ruby-faraday-multipart
- ruby-faraday-typhoeus
- ruby-gemini-ai
- ruby-googleauth
- ruby-google-cloud-env
- ruby-jwt
- ruby-maritaca-ai
- ruby-mistral-ai
- ruby-multi-json
- ruby-ollama-ai
- ruby-os
- ruby-pry
- ruby-rainbow-3.1
- ruby-rbnacl
- ruby-redcarpet-3.6
- ruby-signet
- ruby-typhoeus-1.4.1
- ruby-openai
- ruby-sweet-moon))
- (synopsis "Ruby Nano Bots")
- (description
- (string-append
- "Ruby Implementation of Nano Bots: small, AI-powered bots that can be"
- " easily shared as a single file, designed to support multiple providers"
- " such as Cohere Command, Google Gemini, Maritaca AI MariTalk, Mistral AI,"
- " Ollama, OpenAI ChatGPT, and others, with support for calling tools"
- " (functions)."))
- (license license:expat)
- (home-page "https://rubygems.org/gems/nano-bots")))