main
1# frozen_string_literal: true
2
3require_relative "lib/elelem/image/version"
4
5Gem::Specification.new do |spec|
6 spec.name = "elelem-image"
7 spec.version = Elelem::Image::VERSION
8 spec.authors = ["mo khan"]
9 spec.email = ["[email protected]"]
10
11 spec.summary = "Local image generation tool for elelem."
12 spec.description = "Adds an image tool backed by an embedded stable-diffusion.cpp to generate images from text prompts."
13 spec.homepage = "https://src.mokhan.ca/elelem/image"
14 spec.license = "MIT"
15 spec.required_ruby_version = ">= 4.0.0"
16 spec.metadata["allowed_push_host"] = "https://rubygems.org"
17 spec.metadata["homepage_uri"] = spec.homepage
18 spec.metadata["source_code_uri"] = spec.homepage
19
20 spec.files = [
21 "LICENSE.txt",
22 "lib/elelem/image.rb",
23 "lib/elelem/image/version.rb",
24 "ext/elelem/image/elelem.cpp",
25 "ext/elelem/image/extconf.rb",
26 ]
27 # Only what extconf.rb's cmake build (SD_BUILD_EXAMPLES/WEBP/WEBM all OFF)
28 # actually needs to configure and compile. Applies to both stable-diffusion.cpp's
29 # own tree and its nested ggml submodule.
30 vendor_exclude = %r{/(examples|docs|tests|ci|assets|\.github|thirdparty/libwebp|thirdparty/libwebm)/}
31 spec.files += Dir["vendor/stable-diffusion.cpp/**/*"].select do |path|
32 File.file?(path) && path !~ vendor_exclude
33 end
34 spec.extensions = ["ext/elelem/image/extconf.rb"]
35 spec.require_paths = ["lib"]
36
37 spec.add_dependency "elelem", "~> 0.11"
38 spec.add_dependency "fiddle", "~> 1.1"
39end