# ---
# ## used by gem2rpm
# :summary: this is a custom summary
# ## used by gem2rpm
# :description: |-
#   this is a custom description
#
#   it can be multiline
# ## used by gem2rpm
# :license: MIT or Ruby
# ## used by gem2rpm and gem_packages
# :version_suffix: -x_y
# ## used by gem2rpm and gem_packages
# :disable_docs: true
# ## used by gem2rpm
# :disable_automatic_rdoc_dep: true
# ## used by gem2rpm
# :preamble: |-
#   BuildRequires:  foobar
#   Requires: foobar
# ## used by gem2rpm
# :patches:
#   foo.patch: -p1
#   bar.patch:
# :post_patch:
#   if you need to fiddle with the source dir before rebuilding the gem
# ## used by gem2rpm
# :sources:
# - foo.desktop
# - bar.desktop
# :gem_install_args: '....'
# ## used by gem2rpm
# :pre_install: |-
#   %if 0%{?use_system_libev}
#   export USE_VENDORED_LIBEV="no"
#   %endif
# ## used by gem2rpm
# :post_install: |-
#   # delete custom files here or do other fancy stuff
#   install -D -m 0644 %{S:1} %{buildroot}%{_bindir}/gem2rpm-opensuse
# ## used by gem2rpm
# :testsuite_command: |-
#   (pushd %{buildroot}%{gem_base}/gems/%{mod_full_name} && rake test)
# ## used by gem2rpm
# :filelist: |-
#   /usr/bin/gem2rpm-opensuse
# ## used by gem2rpm
# :scripts:
#   :post: |-
#     /bin/echo foo
# ## used by gem_packages
# :main:
#   :preamble: |-
#     Requires: util-linux
#     Recommends: pwgen
#   :filelist: |-
#     /usr/bin/gem2rpm-opensuse
# ## used by gem_packages
# :custom_pkgs:
#   apache:
#     :preamble: |-
#       Requires: .....
#     :filelist: |-
#       /etc/apache2/conf.d/passenger.conf
#     :summary: Custom summary is optional
#     :description: |-
#       Custom description is optional
#
#       bar
#     :post: |-
#       /bin/echo foo
:disable_docs: true
:version_suffix: '-8.0'
:preamble: |-
    # define rb_build_versions     %{my_apps_rb_build_versions}
    # define rb_build_ruby_abis    %{my_apps_rb_build_abi}
    BuildRequires:  %{rubygem activesupport = %{version}}
    BuildRequires:  %{rubygem actionpack = %{version}}
    BuildRequires:  %{rubygem actionview = %{version}}
    BuildRequires:  %{rubygem activemodel = %{version}}
    BuildRequires:  %{rubygem activerecord = %{version}}
    BuildRequires:  %{rubygem actionmailer = %{version}}
    BuildRequires:  %{rubygem activejob = %{version}}
    BuildRequires:  %{rubygem actioncable = %{version}}
    BuildRequires:  %{rubygem activestorage = %{version}}
    BuildRequires:  %{rubygem actionmailbox = %{version}}
    BuildRequires:  %{rubygem actiontext = %{version}}
    BuildRequires:  %{rubygem railties = %{version}}
    BuildRequires:  %{rubygem bundler >= 1.15.0}

    # help scheduler
    BuildRequires:  %{rubygem rack-session >= 2}
    BuildRequires:  %{rubygem mail >= 2.8.1}
    BuildRequires:  %{rubygem mini_mime >= 1.1.5}

    %bcond_with ensure_default_gemfile_works
    %if %{with ensure_default_gemfile_works}
    # keep in sync with below
    BuildRequires:  %{rubygem propshaft}
    BuildRequires:  %{rubygem sqlite3 >= 2.1}
    BuildRequires:  %{rubygem puma >= 6.0}
    BuildRequires:  %{rubygem importmap-rails}
    BuildRequires:  %{rubygem jsbundling-rails}
    BuildRequires:  %{rubygem turbo-rails}
    BuildRequires:  %{rubygem stimulus-rails}
    BuildRequires:  %{rubygem jbuilder >= 2.13}
    BuildRequires:  %{rubygem solid_cable}
    BuildRequires:  %{rubygem solid_cache}
    BuildRequires:  %{rubygem solid_queue}
    BuildRequires:  %{rubygem bootsnap}
    BuildRequires:  %{rubygem kamal}
    # BuildRequires:  %{rubygem thruster}
    BuildRequires:  %{rubygem debug}
    BuildRequires:  %{rubygem brakeman}
    BuildRequires:  %{rubygem web-console}
    BuildRequires:  %{rubygem rack-mini-profiler}
    BuildRequires:  %{rubygem redis >= 5.0}

    BuildRequires:  %{rubygem redis:5 >= 5.0.0}
    BuildRequires:  %{rubygem kredis}
    BuildRequires:  %{rubygem bcrypt:3.1 >= 3.1.7}
    BuildRequires:  %{rubygem image_processing:1 >= 1.2}
    BuildRequires:  %{rubygem rack-cors}
    # BuildRequires:  %{rubygem rubocop-rails-omakase}

    # help the scheduler
    BuildRequires:  %{rubygem net-ssh >= 6.1}
    BuildRequires:  %{rubygem mysql2:0 >= 0.5}
    BuildRequires:  %{rubygem pg:1 >= 1.1}
    %endif
:main:
  :preamble: |-
    Recommends:  git-core
    Recommends:  (nodejs or bun)
    Recommends:  yarn
    # keep in sync with above
    Recommends:  rubygem(propshaft)
    Recommends:  rubygem(sqlite3) >= 2.1
    Recommends:  rubygem(puma) >= 6.0
    Recommends:  rubygem(importmap-rails)
    Recommends:  rubygem(jsbundling-rails)
    Recommends:  rubygem(turbo-rails)
    Recommends:  rubygem(stimulus-rails)
    Recommends:  rubygem(jbuilder) >= 2.13
    Recommends:  rubygem(solid_cable)
    Recommends:  rubygem(solid_cache)
    Recommends:  rubygem(solid_queue)
    Recommends:  rubygem(bootsnap)
    Recommends:  rubygem(kamal)
    Recommends:  rubygem(thruster)
    Recommends:  rubygem(debug)
    Recommends:  rubygem(brakeman)
    Recommends:  rubygem(web-console)
    Recommends:  rubygem(rack-mini-profiler)
    Recommends:  rubygem(redis) >= 4.0.1
    Recommends:  rubygem(pg:1) >= 1.1
    Recommends:  rubygem(mysql2:0) >= 0.5
    Recommends:  rubygem(trilogy:2) >= 2.7
    Recommends:  rubygem(redis:5) >= 5.0.0
    Recommends:  rubygem(kredis)
    Recommends:  rubygem(bcrypt:3.1) >= 3.1.7
    Recommends:  rubygem(image_processing:1) >= 1.2
    Recommends:  rubygem(rack-cors)
    Recommends:  rubygem(rubocop-rails-omakase)