diff --git a/pkgs/by-name/re/redmine/0001-python3.patch b/pkgs/by-name/re/redmine/0001-python3.patch
deleted file mode 100644
index c88645b85a28..000000000000
--- a/pkgs/by-name/re/redmine/0001-python3.patch
+++ /dev/null
@@ -1,275 +0,0 @@
---- a/lib/redmine/scm/adapters/mercurial/redminehelper.py
-+++ b/lib/redmine/scm/adapters/mercurial/redminehelper.py
-@@ -45,17 +45,20 @@ Output example of rhmanifest::
-
-
- """
--import re, time, cgi, urllib
-+import re, time, html, urllib
- from mercurial import cmdutil, commands, node, error, hg, registrar
-
- cmdtable = {}
- command = registrar.command(cmdtable) if hasattr(registrar, 'command') else cmdutil.command(cmdtable)
-
--_x = cgi.escape
--_u = lambda s: cgi.escape(urllib.quote(s))
-+_x = lambda s: html.escape(s.decode('utf-8')).encode('utf-8')
-+_u = lambda s: html.escape(urllib.parse.quote(s)).encode('utf-8')
-+
-+def unquoteplus(*args, **kwargs):
-+ return urllib.parse.unquote_to_bytes(*args, **kwargs).replace(b'+', b' ')
-
- def _changectx(repo, rev):
-- if isinstance(rev, str):
-+ if isinstance(rev, bytes):
- rev = repo.lookup(rev)
- if hasattr(repo, 'changectx'):
- return repo.changectx(rev)
-@@ -70,10 +73,10 @@ def _tip(ui, repo):
- except TypeError: # Mercurial < 1.1
- return repo.changelog.count() - 1
- tipctx = _changectx(repo, tiprev())
-- ui.write('\n'
-+ ui.write(b'\n'
- % (tipctx.rev(), _x(node.hex(tipctx.node()))))
-
--_SPECIAL_TAGS = ('tip',)
-+_SPECIAL_TAGS = (b'tip',)
-
- def _tags(ui, repo):
- # see mercurial/commands.py:tags
-@@ -84,7 +87,7 @@ def _tags(ui, repo):
- r = repo.changelog.rev(n)
- except error.LookupError:
- continue
-- ui.write('\n'
-+ ui.write(b'\n'
- % (r, _x(node.hex(n)), _u(t)))
-
- def _branches(ui, repo):
-@@ -104,136 +107,148 @@ def _branches(ui, repo):
- return repo.branchheads(branch)
- def lookup(rev, n):
- try:
-- return repo.lookup(rev)
-+ return repo.lookup(str(rev).encode('utf-8'))
- except RuntimeError:
- return n
- for t, n, r in sorted(iterbranches(), key=lambda e: e[2], reverse=True):
- if lookup(r, n) in branchheads(t):
-- ui.write('\n'
-+ ui.write(b'\n'
- % (r, _x(node.hex(n)), _u(t)))
-
- def _manifest(ui, repo, path, rev):
- ctx = _changectx(repo, rev)
-- ui.write('\n'
-+ ui.write(b'\n'
- % (ctx.rev(), _u(path)))
-
- known = set()
-- pathprefix = (path.rstrip('/') + '/').lstrip('/')
-+ pathprefix = (path.decode('utf-8').rstrip('/') + '/').lstrip('/')
- for f, n in sorted(ctx.manifest().iteritems(), key=lambda e: e[0]):
-- if not f.startswith(pathprefix):
-+ fstr = f.decode('utf-8')
-+ if not fstr.startswith(pathprefix):
- continue
-- name = re.sub(r'/.*', '/', f[len(pathprefix):])
-+ name = re.sub(r'/.*', '/', fstr[len(pathprefix):])
- if name in known:
- continue
- known.add(name)
-
- if name.endswith('/'):
-- ui.write('\n'
-+ ui.write(b'\n'
- % _x(urllib.quote(name[:-1])))
- else:
- fctx = repo.filectx(f, fileid=n)
- tm, tzoffset = fctx.date()
-- ui.write('\n'
-+ ui.write(b'\n'
- % (_u(name), fctx.rev(), _x(node.hex(fctx.node())),
- tm, fctx.size(), ))
-
-- ui.write('\n')
-+ ui.write(b'\n')
-
--@command('rhannotate',
-- [('r', 'rev', '', 'revision'),
-- ('u', 'user', None, 'list the author (long with -v)'),
-- ('n', 'number', None, 'list the revision number (default)'),
-- ('c', 'changeset', None, 'list the changeset'),
-+@command(b'rhannotate',
-+ [(b'r', b'rev', b'', b'revision'),
-+ (b'u', b'user', None, b'list the author (long with -v)'),
-+ (b'n', b'number', None, b'list the revision number (default)'),
-+ (b'c', b'changeset', None, b'list the changeset'),
- ],
-- 'hg rhannotate [-r REV] [-u] [-n] [-c] FILE...')
-+ b'hg rhannotate [-r REV] [-u] [-n] [-c] FILE...')
- def rhannotate(ui, repo, *pats, **opts):
-- rev = urllib.unquote_plus(opts.pop('rev', None))
-+ rev = unquoteplus(opts.pop('rev', b''))
- opts['rev'] = rev
-- return commands.annotate(ui, repo, *map(urllib.unquote_plus, pats), **opts)
-+ return commands.annotate(ui, repo, *map(unquoteplus, pats), **opts)
-
--@command('rhcat',
-- [('r', 'rev', '', 'revision')],
-- 'hg rhcat ([-r REV] ...) FILE...')
-+@command(b'rhcat',
-+ [(b'r', b'rev', b'', b'revision')],
-+ b'hg rhcat ([-r REV] ...) FILE...')
- def rhcat(ui, repo, file1, *pats, **opts):
-- rev = urllib.unquote_plus(opts.pop('rev', None))
-+ rev = unquoteplus(opts.pop('rev', b''))
- opts['rev'] = rev
-- return commands.cat(ui, repo, urllib.unquote_plus(file1), *map(urllib.unquote_plus, pats), **opts)
-+ return commands.cat(ui, repo, unquoteplus(file1), *map(unquoteplus, pats), **opts)
-
--@command('rhdiff',
-- [('r', 'rev', [], 'revision'),
-- ('c', 'change', '', 'change made by revision')],
-- 'hg rhdiff ([-c REV] | [-r REV] ...) [FILE]...')
-+@command(b'rhdiff',
-+ [(b'r', b'rev', [], b'revision'),
-+ (b'c', b'change', b'', b'change made by revision')],
-+ b'hg rhdiff ([-c REV] | [-r REV] ...) [FILE]...')
- def rhdiff(ui, repo, *pats, **opts):
- """diff repository (or selected files)"""
- change = opts.pop('change', None)
- if change: # add -c option for Mercurial<1.1
- base = _changectx(repo, change).parents()[0].rev()
-- opts['rev'] = [str(base), change]
-+ opts['rev'] = [base, change]
- opts['nodates'] = True
-- return commands.diff(ui, repo, *map(urllib.unquote_plus, pats), **opts)
--
--@command('rhlog',
-- [
-- ('r', 'rev', [], 'show the specified revision'),
-- ('b', 'branch', [],
-- 'show changesets within the given named branch'),
-- ('l', 'limit', '',
-- 'limit number of changes displayed'),
-- ('d', 'date', '',
-- 'show revisions matching date spec'),
-- ('u', 'user', [],
-- 'revisions committed by user'),
-- ('', 'from', '',
-- ''),
-- ('', 'to', '',
-- ''),
-- ('', 'rhbranch', '',
-- ''),
-- ('', 'template', '',
-- 'display with template')],
-- 'hg rhlog [OPTION]... [FILE]')
-+ return commands.diff(ui, repo, *map(unquoteplus, pats), **opts)
-+
-+@command(b'rhlog',
-+ [
-+ (b'r', b'rev', [], b'show the specified revision'),
-+ (b'b', b'branch', [],
-+ b'show changesets within the given named branch'),
-+ (b'l', b'limit', b'',
-+ b'limit number of changes displayed'),
-+ (b'd', b'date', b'',
-+ b'show revisions matching date spec'),
-+ (b'u', b'user', [],
-+ b'revisions committed by user'),
-+ (b'', b'from', b'',
-+ b''),
-+ (b'', b'to', b'',
-+ b''),
-+ (b'', b'rhbranch', b'',
-+ b''),
-+ (b'', b'template', b'',
-+ b'display with template')],
-+ b'hg rhlog [OPTION]... [FILE]')
-+
- def rhlog(ui, repo, *pats, **opts):
- rev = opts.pop('rev')
- bra0 = opts.pop('branch')
-- from_rev = urllib.unquote_plus(opts.pop('from', None))
-- to_rev = urllib.unquote_plus(opts.pop('to' , None))
-- bra = urllib.unquote_plus(opts.pop('rhbranch', None))
-- from_rev = from_rev.replace('"', '\\"')
-- to_rev = to_rev.replace('"', '\\"')
-- if hg.util.version() >= '1.6':
-- opts['rev'] = ['"%s":"%s"' % (from_rev, to_rev)]
-+ from_rev = unquoteplus(opts.pop('from', b''))
-+ to_rev = unquoteplus(opts.pop('to' , b''))
-+ bra = unquoteplus(opts.pop('rhbranch', b''))
-+ from_rev = from_rev.replace(b'"', b'\\"')
-+ to_rev = to_rev.replace(b'"', b'\\"')
-+ if (from_rev != b'') or (to_rev != b''):
-+ if from_rev != b'':
-+ quotefrom = b'"%s"' % (from_rev)
-+ else:
-+ quotefrom = from_rev
-+ if to_rev != b'':
-+ quoteto = b'"%s"' % (to_rev)
-+ else:
-+ quoteto = to_rev
-+ opts['rev'] = [b'%s:%s' % (quotefrom, quoteto)]
- else:
-- opts['rev'] = ['%s:%s' % (from_rev, to_rev)]
-- opts['branch'] = [bra]
-- return commands.log(ui, repo, *map(urllib.unquote_plus, pats), **opts)
--
--@command('rhmanifest',
-- [('r', 'rev', '', 'show the specified revision')],
-- 'hg rhmanifest [-r REV] [PATH]')
--def rhmanifest(ui, repo, path='', **opts):
-+ opts['rev'] = rev
-+ if (bra != b''):
-+ opts['branch'] = [bra]
-+ return commands.log(ui, repo, *map(unquoteplus, pats), **opts)
-+
-+
-+@command(b'rhmanifest',
-+ [(b'r', b'rev', b'', b'show the specified revision')],
-+ b'hg rhmanifest -r REV [PATH]')
-+def rhmanifest(ui, repo, path=b'', **opts):
- """output the sub-manifest of the specified directory"""
-- ui.write('\n')
-- ui.write('\n')
-- ui.write('\n' % _u(repo.root))
-+ ui.write(b'\n')
-+ ui.write(b'\n')
-+ ui.write(b'\n' % _u(repo.root))
- try:
-- _manifest(ui, repo, urllib.unquote_plus(path), urllib.unquote_plus(opts.get('rev')))
-+ _manifest(ui, repo, unquoteplus(path), unquoteplus(opts.get('rev')))
- finally:
-- ui.write('\n')
-- ui.write('\n')
-+ ui.write(b'\n')
-+ ui.write(b'\n')
-
--@command('rhsummary',[], 'hg rhsummary')
-+@command(b'rhsummary',[], b'hg rhsummary')
- def rhsummary(ui, repo, **opts):
- """output the summary of the repository"""
-- ui.write('\n')
-- ui.write('\n')
-- ui.write('\n' % _u(repo.root))
-+ ui.write(b'\n')
-+ ui.write(b'\n')
-+ ui.write(b'\n' % _u(repo.root))
- try:
- _tip(ui, repo)
- _tags(ui, repo)
- _branches(ui, repo)
- # TODO: bookmarks in core (Mercurial>=1.8)
- finally:
-- ui.write('\n')
-- ui.write('\n')
-+ ui.write(b'\n')
-+ ui.write(b'\n')
-
diff --git a/pkgs/by-name/re/redmine/Gemfile b/pkgs/by-name/re/redmine/Gemfile
index 8345cc8a7a6a..9f7647787801 100644
--- a/pkgs/by-name/re/redmine/Gemfile
+++ b/pkgs/by-name/re/redmine/Gemfile
@@ -1,27 +1,34 @@
source 'https://rubygems.org'
-ruby '>= 3.1.0', '< 3.4.0'
+ruby '>= 3.2.0', '< 3.5.0'
gem 'rails', '7.2.3'
gem 'rouge', '~> 4.5'
gem 'mini_mime', '~> 1.1.0'
gem "actionpack-xml_parser"
-gem 'roadie-rails', '~> 3.2.0'
+gem 'roadie-rails', '~> 3.3.0'
gem 'marcel'
gem 'mail', '~> 2.8.1'
gem 'nokogiri', '~> 1.18.3'
gem 'i18n', '~> 1.14.1'
gem 'rbpdf', '~> 1.21.4'
gem 'addressable'
-gem 'rubyzip', '~> 2.3.0'
+gem 'rubyzip', '~> 2.4.0'
gem 'propshaft', '~> 1.1.0'
gem 'rack', '>= 3.1.3'
+gem "stimulus-rails", "~> 1.3"
+gem "importmap-rails", "~> 2.0"
+gem 'commonmarker', '~> 2.3.0'
+gem "doorkeeper", "~> 5.8.2"
+gem "bcrypt", require: false
+gem "doorkeeper-i18n", "~> 5.2"
+gem "requestjs-rails", "~> 0.0.13"
# Ruby Standard Gems
-gem 'csv', '~> 3.2.8'
-gem 'net-imap', '~> 0.4.20'
+gem 'csv', '~> 3.3.2'
+gem 'net-imap', '~> 0.5.7'
gem 'net-pop', '~> 0.1.2'
-gem 'net-smtp', '~> 0.4.0'
+gem 'net-smtp', '~> 0.5.0'
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
@@ -41,20 +48,16 @@ end
# Optional gem for exporting the gantt to a PNG file
group :minimagick do
- gem 'mini_magick', '~> 5.0.1'
-end
-
-# Optional CommonMark support, not for JRuby
-group :common_mark do
- gem "commonmarker", '~> 0.23.8'
- gem 'deckar01-task_list', '2.3.2'
+ gem 'mini_magick', '~> 5.2.0'
end
# Include database gems for the database adapters NixOS supports
gem 'mysql2', '~> 0.5.0'
gem "with_advisory_lock"
+gem 'trilogy', '~> 2.9.0'
+gem "with_advisory_lock"
gem 'pg', '~> 1.5.3'
-gem 'sqlite3', '~> 1.7.0'
+gem 'sqlite3', '~> 2.5.0'
group :development, :test do
gem 'debug'
@@ -64,6 +67,7 @@ group :development do
gem 'listen', '~> 3.3'
gem 'yard', require: false
gem 'svg_sprite', require: false
+ gem 'bullet'
end
group :test do
@@ -76,13 +80,15 @@ group :test do
gem "capybara", ">= 3.39"
gem 'selenium-webdriver', '>= 4.11.0'
# RuboCop
- gem 'rubocop', '~> 1.68.0', require: false
- gem 'rubocop-ast', '~> 1.40.0', require: false
- gem 'rubocop-performance', '~> 1.22.0', require: false
- gem 'rubocop-rails', '~> 2.27.0', require: false
+ gem 'rubocop', '~> 1.76.0', require: false
+ gem 'rubocop-performance', '~> 1.25.0', require: false
+ gem 'rubocop-rails', '~> 2.32.0', require: false
gem 'bundle-audit', require: false
- # `bin/rails test` fails at startup with minitest >= 6.0
- gem 'minitest', '< 6.0'
+ # for testing oauth provider capabilities
+ gem 'oauth2'
+ gem 'rest-client'
+ # Lock minitest to 5.x until a Rails release includes support for minitest 6.0
+ gem 'minitest', '~> 5.27'
end
gem "webrick"
diff --git a/pkgs/by-name/re/redmine/Gemfile.lock b/pkgs/by-name/re/redmine/Gemfile.lock
index 8dac12b98b4a..4b962c0cd4cd 100644
--- a/pkgs/by-name/re/redmine/Gemfile.lock
+++ b/pkgs/by-name/re/redmine/Gemfile.lock
@@ -81,9 +81,13 @@ GEM
public_suffix (>= 2.0.2, < 8.0)
ast (2.4.3)
base64 (0.3.0)
+ bcrypt (3.1.21)
benchmark (0.5.0)
bigdecimal (4.0.1)
builder (3.3.0)
+ bullet (8.1.0)
+ activesupport (>= 3.0.0)
+ uniform_notifier (~> 1.11)
bundle-audit (0.2.0)
bundler-audit
bundler-audit (0.9.3)
@@ -100,40 +104,63 @@ GEM
xpath (~> 3.2)
cgi (0.5.1)
chunky_png (1.4.0)
- commonmarker (0.23.12)
+ commonmarker (2.3.2)
+ rb_sys (~> 0.9)
concurrent-ruby (1.3.6)
connection_pool (3.0.2)
crass (1.0.6)
css_parser (1.21.1)
addressable
- csv (3.2.9)
+ csv (3.3.5)
date (3.5.1)
debug (1.11.1)
irb (~> 1.10)
reline (>= 0.3.8)
- deckar01-task_list (2.3.2)
- html-pipeline
docile (1.4.1)
+ domain_name (0.6.20240107)
+ doorkeeper (5.8.2)
+ railties (>= 5)
+ doorkeeper-i18n (5.2.8)
+ doorkeeper (>= 5.2)
drb (2.2.3)
erb (6.0.1)
erubi (1.13.1)
+ faraday (2.14.0)
+ faraday-net_http (>= 2.0, < 3.5)
+ json
+ logger
+ faraday-net_http (3.4.2)
+ net-http (~> 0.5)
ffi (1.17.3)
globalid (1.3.0)
activesupport (>= 6.1)
+ hashie (5.1.0)
+ logger
html-pipeline (2.13.2)
activesupport (>= 2)
nokogiri (>= 1.4)
htmlentities (4.4.2)
+ http-accept (1.7.0)
+ http-cookie (1.1.0)
+ domain_name (~> 0.5)
i18n (1.14.8)
concurrent-ruby (~> 1.0)
+ importmap-rails (2.2.3)
+ actionpack (>= 6.0.0)
+ activesupport (>= 6.0.0)
+ railties (>= 6.0.0)
io-console (0.8.2)
irb (1.16.0)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
- json (2.18.0)
+ json (2.18.1)
+ jwt (3.1.2)
+ base64
language_server-protocol (3.17.0.5)
- listen (3.9.0)
+ lint_roller (1.1.0)
+ listen (3.10.0)
+ logger
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.7.0)
@@ -147,15 +174,25 @@ GEM
net-smtp
marcel (1.1.0)
matrix (0.4.3)
- mini_magick (5.0.1)
+ mime-types (3.7.0)
+ logger
+ mime-types-data (~> 3.2025, >= 3.2025.0507)
+ mime-types-data (3.2026.0203)
+ mini_magick (5.2.0)
+ benchmark
+ logger
mini_mime (1.1.5)
mini_portile2 (2.8.9)
minitest (5.27.0)
mocha (3.0.1)
ruby2_keywords (>= 0.0.5)
+ multi_xml (0.8.1)
+ bigdecimal (>= 3.1, < 5)
mysql2 (0.5.7)
bigdecimal
- net-imap (0.4.23)
+ net-http (0.9.1)
+ uri (>= 0.11.1)
+ net-imap (0.5.13)
date
net-protocol
net-ldap (0.17.1)
@@ -163,20 +200,30 @@ GEM
net-protocol
net-protocol (0.2.2)
timeout
- net-smtp (0.4.0.1)
+ net-smtp (0.5.1)
net-protocol
+ netrc (0.11.0)
nio4r (2.7.5)
nokogiri (1.18.10)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
+ oauth2 (2.0.18)
+ faraday (>= 0.17.3, < 4.0)
+ jwt (>= 1.0, < 4.0)
+ logger (~> 1.2)
+ multi_xml (~> 0.5)
+ rack (>= 1.2, < 4)
+ snaky_hash (~> 2.0, >= 2.0.3)
+ version_gem (~> 1.1, >= 1.1.9)
parallel (1.27.0)
- parser (3.3.10.0)
+ parser (3.3.10.1)
ast (~> 2.4.1)
racc
pg (1.5.9)
pp (0.6.3)
prettyprint
prettyprint (0.2.0)
+ prism (1.9.0)
propshaft (1.1.0)
actionpack (>= 7.0.0)
activesupport (>= 7.0.0)
@@ -186,7 +233,7 @@ GEM
date
stringio
public_suffix (7.0.2)
- puma (7.1.0)
+ puma (7.2.0)
nio4r (~> 2.0)
racc (1.8.1)
rack (3.2.4)
@@ -230,26 +277,36 @@ GEM
zeitwerk (~> 2.6)
rainbow (3.1.1)
rake (13.3.1)
+ rake-compiler-dock (1.11.0)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
+ rb_sys (0.9.124)
+ rake-compiler-dock (= 1.11.0)
rbpdf (1.21.4)
htmlentities
rbpdf-font (~> 1.19.0)
rbpdf-font (1.19.1)
- rdoc (7.0.3)
+ rdoc (7.1.0)
erb
psych (>= 4.0.0)
tsort
regexp_parser (2.11.3)
reline (0.6.3)
io-console (~> 0.5)
+ requestjs-rails (0.0.14)
+ railties (>= 7.1.0)
+ rest-client (2.1.0)
+ http-accept (>= 1.7.0, < 2.0)
+ http-cookie (>= 1.0.2, < 2.0)
+ mime-types (>= 1.16, < 4.0)
+ netrc (~> 0.8)
rexml (3.4.4)
roadie (5.2.1)
css_parser (~> 1.4)
nokogiri (~> 1.15)
- roadie-rails (3.2.0)
- railties (>= 5.1, < 8.0)
+ roadie-rails (3.3.0)
+ railties (>= 5.1, < 8.1)
roadie (~> 5.0)
rotp (6.3.0)
rouge (4.7.0)
@@ -257,34 +314,38 @@ GEM
chunky_png (~> 1.0)
rqrcode_core (~> 2.0)
rqrcode_core (2.1.0)
- rubocop (1.68.0)
+ rubocop (1.76.2)
json (~> 2.3)
- language_server-protocol (>= 3.17.0)
+ language_server-protocol (~> 3.17.0.2)
+ lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
- regexp_parser (>= 2.4, < 3.0)
- rubocop-ast (>= 1.32.2, < 2.0)
+ regexp_parser (>= 2.9.3, < 3.0)
+ rubocop-ast (>= 1.45.1, < 2.0)
ruby-progressbar (~> 1.7)
- unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.40.0)
- parser (>= 3.3.1.0)
- rubocop-performance (1.22.1)
- rubocop (>= 1.48.1, < 2.0)
- rubocop-ast (>= 1.31.1, < 2.0)
- rubocop-rails (2.27.0)
+ unicode-display_width (>= 2.4.0, < 4.0)
+ rubocop-ast (1.49.0)
+ parser (>= 3.3.7.2)
+ prism (~> 1.7)
+ rubocop-performance (1.25.0)
+ lint_roller (~> 1.1)
+ rubocop (>= 1.75.0, < 2.0)
+ rubocop-ast (>= 1.38.0, < 2.0)
+ rubocop-rails (2.32.0)
activesupport (>= 4.2.0)
+ lint_roller (~> 1.1)
rack (>= 1.1)
- rubocop (>= 1.52.0, < 2.0)
- rubocop-ast (>= 1.31.1, < 2.0)
+ rubocop (>= 1.75.0, < 2.0)
+ rubocop-ast (>= 1.44.0, < 2.0)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
- rubyzip (2.3.2)
+ rubyzip (2.4.1)
sanitize (6.1.3)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
securerandom (0.4.1)
- selenium-webdriver (4.39.0)
+ selenium-webdriver (4.40.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
@@ -296,8 +357,13 @@ GEM
simplecov_json_formatter (~> 0.1)
simplecov-html (0.13.2)
simplecov_json_formatter (0.1.4)
- sqlite3 (1.7.3)
+ snaky_hash (2.0.3)
+ hashie (>= 0.1.0, < 6)
+ version_gem (>= 1.1.8, < 3)
+ sqlite3 (2.5.0)
mini_portile2 (~> 2.8.0)
+ stimulus-rails (1.3.4)
+ railties (>= 6.0.0)
stringio (3.2.0)
svg_optimizer (0.3.0)
nokogiri
@@ -307,18 +373,24 @@ GEM
thor
thor (1.5.0)
timeout (0.6.0)
+ trilogy (2.9.0)
tsort (0.2.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
- unicode-display_width (2.6.0)
+ unicode-display_width (3.2.0)
+ unicode-emoji (~> 4.1)
+ unicode-emoji (4.2.0)
+ uniform_notifier (1.18.0)
+ uri (1.1.1)
useragent (0.16.11)
+ version_gem (1.1.9)
webrick (1.9.2)
websocket (1.2.11)
websocket-driver (0.8.0)
base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
- with_advisory_lock (7.0.2)
+ with_advisory_lock (7.5.0)
activerecord (>= 7.2)
zeitwerk (>= 2.7)
xpath (3.2.0)
@@ -332,28 +404,33 @@ PLATFORMS
DEPENDENCIES
actionpack-xml_parser
addressable
+ bcrypt
+ bullet
bundle-audit
capybara (>= 3.39)
- commonmarker (~> 0.23.8)
- csv (~> 3.2.8)
+ commonmarker (~> 2.3.0)
+ csv (~> 3.3.2)
debug
- deckar01-task_list (= 2.3.2)
+ doorkeeper (~> 5.8.2)
+ doorkeeper-i18n (~> 5.2)
ffi
html-pipeline (~> 2.13.2)
i18n (~> 1.14.1)
+ importmap-rails (~> 2.0)
listen (~> 3.3)
mail (~> 2.8.1)
marcel
- mini_magick (~> 5.0.1)
+ mini_magick (~> 5.2.0)
mini_mime (~> 1.1.0)
- minitest (< 6.0)
+ minitest (~> 5.27)
mocha (>= 2.0.1)
mysql2 (~> 0.5.0)
- net-imap (~> 0.4.20)
+ net-imap (~> 0.5.7)
net-ldap (~> 0.17.0)
net-pop (~> 0.1.2)
- net-smtp (~> 0.4.0)
+ net-smtp (~> 0.5.0)
nokogiri (~> 1.18.3)
+ oauth2
pg (~> 1.5.3)
propshaft (~> 1.1.0)
puma
@@ -361,20 +438,23 @@ DEPENDENCIES
rails (= 7.2.3)
rails-dom-testing (>= 2.3.0)
rbpdf (~> 1.21.4)
- roadie-rails (~> 3.2.0)
+ requestjs-rails (~> 0.0.13)
+ rest-client
+ roadie-rails (~> 3.3.0)
rotp (>= 5.0.0)
rouge (~> 4.5)
rqrcode
- rubocop (~> 1.68.0)
- rubocop-ast (~> 1.40.0)
- rubocop-performance (~> 1.22.0)
- rubocop-rails (~> 2.27.0)
- rubyzip (~> 2.3.0)
+ rubocop (~> 1.76.0)
+ rubocop-performance (~> 1.25.0)
+ rubocop-rails (~> 2.32.0)
+ rubyzip (~> 2.4.0)
sanitize (~> 6.0)
selenium-webdriver (>= 4.11.0)
simplecov (~> 0.22.0)
- sqlite3 (~> 1.7.0)
+ sqlite3 (~> 2.5.0)
+ stimulus-rails (~> 1.3)
svg_sprite
+ trilogy (~> 2.9.0)
tzinfo-data
webrick
with_advisory_lock
diff --git a/pkgs/by-name/re/redmine/gemset.nix b/pkgs/by-name/re/redmine/gemset.nix
index fe778b7c357c..4938f8069f3f 100644
--- a/pkgs/by-name/re/redmine/gemset.nix
+++ b/pkgs/by-name/re/redmine/gemset.nix
@@ -197,8 +197,8 @@
"tzinfo"
];
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -238,8 +238,8 @@
};
base64 = {
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -250,10 +250,21 @@
};
version = "0.3.0";
};
+ bcrypt = {
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "1krd99p9828n07rcjjms56jaqv7v6s9pn7y6bppcfhhaflyn2r2r";
+ type = "gem";
+ };
+ version = "3.1.21";
+ };
benchmark = {
groups = [
- "common_mark"
"default"
+ "development"
+ "minimagick"
"test"
];
platforms = [ ];
@@ -266,8 +277,8 @@
};
bigdecimal = {
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -288,6 +299,20 @@
};
version = "3.3.0";
};
+ bullet = {
+ dependencies = [
+ "activesupport"
+ "uniform_notifier"
+ ];
+ groups = [ "development" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "1zwq7g98c1mdigahb50c980a0fcc4ib1m9ivmgf3f8gc6qk7wjv0";
+ type = "gem";
+ };
+ version = "8.1.0";
+ };
bundle-audit = {
dependencies = [ "bundler-audit" ];
groups = [ "test" ];
@@ -354,19 +379,20 @@
version = "1.4.0";
};
commonmarker = {
- groups = [ "common_mark" ];
+ dependencies = [ "rb_sys" ];
+ groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1k9wa8fnfz08lyn86vpqhdv4jffznlxcx6p6qr11rdf7qy4jybfs";
+ sha256 = "04g73hpmrn92jcj1cfblg4aq2k6sijd6i4xa4n0y0p2fbxry715z";
type = "gem";
};
- version = "0.23.12";
+ version = "2.3.2";
};
concurrent-ruby = {
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -379,8 +405,8 @@
};
connection_pool = {
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -417,10 +443,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1fp986v5xfpzcj9v3dyvdd26fcnmbbzjwcp66pz34hv6g86z66a9";
+ sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf";
type = "gem";
};
- version = "3.2.9";
+ version = "3.3.5";
};
date = {
groups = [
@@ -453,17 +479,6 @@
};
version = "1.11.1";
};
- deckar01-task_list = {
- dependencies = [ "html-pipeline" ];
- groups = [ "common_mark" ];
- platforms = [ ];
- source = {
- remotes = [ "https://rubygems.org" ];
- sha256 = "01c8vv0xwbhlyhiagj93b1hlm2n0rmj4sw62nbc0jhyj90jhj6as";
- type = "gem";
- };
- version = "2.3.2";
- };
docile = {
groups = [
"default"
@@ -477,10 +492,45 @@
};
version = "1.4.1";
};
+ domain_name = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz";
+ type = "gem";
+ };
+ version = "0.6.20240107";
+ };
+ doorkeeper = {
+ dependencies = [ "railties" ];
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "1lsh9lzrglqlwm9icmn0ggrwjc9iy9308f9m59z1w2srmyp0fgd7";
+ type = "gem";
+ };
+ version = "5.8.2";
+ };
+ doorkeeper-i18n = {
+ dependencies = [ "doorkeeper" ];
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0lpmvaglypxlmaiqv4sjrf1b1sc8f589cv7xq3rr4j26vw0lf1g4";
+ type = "gem";
+ };
+ version = "5.2.8";
+ };
drb = {
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -515,6 +565,38 @@
};
version = "1.13.1";
};
+ faraday = {
+ dependencies = [
+ "faraday-net_http"
+ "json"
+ "logger"
+ ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "1ka175ci0q9ylpcy651pjj580diplkaskycn4n7jcmbyv7jwz6c6";
+ type = "gem";
+ };
+ version = "2.14.0";
+ };
+ faraday-net_http = {
+ dependencies = [ "net-http" ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0v4hfmc7d4lrqqj2wl366rm9551gd08zkv2ppwwnjlnkc217aizi";
+ type = "gem";
+ };
+ version = "3.4.2";
+ };
ffi = {
groups = [
"default"
@@ -556,15 +638,26 @@
};
version = "1.3.0";
};
+ hashie = {
+ dependencies = [ "logger" ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0w1qrab701d3a63aj2qavwc2fpcqmkzzh1w2x93c88zkjqc4frn2";
+ type = "gem";
+ };
+ version = "5.1.0";
+ };
html-pipeline = {
dependencies = [
"activesupport"
"nokogiri"
];
- groups = [
- "common_mark"
- "default"
- ];
+ groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@@ -583,11 +676,38 @@
};
version = "4.4.2";
};
+ http-accept = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6";
+ type = "gem";
+ };
+ version = "1.7.0";
+ };
+ http-cookie = {
+ dependencies = [ "domain_name" ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "06dvmngd4hwrr6k774i1h6c50h2l8nww9f1id0wvrvi72l6yd99q";
+ type = "gem";
+ };
+ version = "1.1.0";
+ };
i18n = {
dependencies = [ "concurrent-ruby" ];
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -598,6 +718,21 @@
};
version = "1.14.8";
};
+ importmap-rails = {
+ dependencies = [
+ "actionpack"
+ "activesupport"
+ "railties"
+ ];
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0smixr7l97pky55k0kz9rxmmyk2032kp7xdqixaz2z699lmbw0bi";
+ type = "gem";
+ };
+ version = "2.2.3";
+ };
io-console = {
groups = [
"default"
@@ -639,10 +774,24 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "01fmiz052cvnxgdnhb3qwcy88xbv7l3liz0fkvs5qgqqwjp0c1di";
+ sha256 = "11prr7nrxh1y4rfsqa51gy4ixx63r18cz9mdnmk0938va1ajf4gy";
type = "gem";
};
- version = "2.18.0";
+ version = "2.18.1";
+ };
+ jwt = {
+ dependencies = [ "base64" ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0dfm4bhl4fzn076igh0bmh2v1vphcrxdv6ldc46hdd3bkbqr2sdg";
+ type = "gem";
+ };
+ version = "3.1.2";
};
language_server-protocol = {
groups = [
@@ -657,8 +806,22 @@
};
version = "3.17.0.5";
};
+ lint_roller = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "11yc0d84hsnlvx8cpk4cbj6a4dz9pk0r1k29p0n1fz9acddq831c";
+ type = "gem";
+ };
+ version = "1.1.0";
+ };
listen = {
dependencies = [
+ "logger"
"rb-fsevent"
"rb-inotify"
];
@@ -666,15 +829,16 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv";
+ sha256 = "1ln9c0vx165hkfbn2817qw4m6i77xcxh6q0r5v6fqfhlcbdq5qf6";
type = "gem";
};
- version = "3.9.0";
+ version = "3.10.0";
};
logger = {
groups = [
- "common_mark"
"default"
+ "development"
+ "minimagick"
"test"
];
platforms = [ ];
@@ -738,15 +902,49 @@
};
version = "0.4.3";
};
+ mime-types = {
+ dependencies = [
+ "logger"
+ "mime-types-data"
+ ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0mjyxl7c0xzyqdqa8r45hqg7jcw2prp3hkp39mdf223g4hfgdsyw";
+ type = "gem";
+ };
+ version = "3.7.0";
+ };
+ mime-types-data = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0bradmf21c9g4z6f3hvqmnf6i2sbgp0630y2j5rq8a7h79lksdal";
+ type = "gem";
+ };
+ version = "3.2026.0203";
+ };
mini_magick = {
+ dependencies = [
+ "benchmark"
+ "logger"
+ ];
groups = [ "minimagick" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1ig7gl9q0qf5c54f9gvg8mqzi15dy6p71q25j80mb4bdnj9v6sz6";
+ sha256 = "0jiz4jqsrmgnkyvpmsq2vicmvdqa6q2ibzx93lnj8f0xvfzzymr7";
type = "gem";
};
- version = "5.0.1";
+ version = "5.2.0";
};
mini_mime = {
groups = [
@@ -763,7 +961,6 @@
};
mini_portile2 = {
groups = [
- "common_mark"
"default"
"development"
"test"
@@ -778,8 +975,8 @@
};
minitest = {
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -801,6 +998,20 @@
};
version = "3.0.1";
};
+ multi_xml = {
+ dependencies = [ "bigdecimal" ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0nnzdswa9l6w8k5ndgbv5al9f0jkg14dqwzyic4fjd5c1cls1nxd";
+ type = "gem";
+ };
+ version = "0.8.1";
+ };
mysql2 = {
dependencies = [ "bigdecimal" ];
groups = [ "default" ];
@@ -812,6 +1023,20 @@
};
version = "0.5.7";
};
+ net-http = {
+ dependencies = [ "uri" ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "15k96fj6qwbaiv6g52l538ass95ds1qwgynqdridz29yqrkhpfi5";
+ type = "gem";
+ };
+ version = "0.9.1";
+ };
net-imap = {
dependencies = [
"date"
@@ -821,10 +1046,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0lw9yv95w55k5rb3bdifm6b1g0c2g0a1ly11wwviyyx4829wjv5q";
+ sha256 = "1c9p0r2z6j14g0vi323r6x4cs6w87xjvphlkxf7x63h2wsscgc7d";
type = "gem";
};
- version = "0.4.23";
+ version = "0.5.13";
};
net-ldap = {
groups = [ "ldap" ];
@@ -864,10 +1089,23 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0csspzqrg7s2v2wdp6vqqs1rra6w5ilpgnps5h52ig6rp7x2i389";
+ sha256 = "0dh7nzjp0fiaqq1jz90nv4nxhc2w359d7c199gmzq965cfps15pd";
type = "gem";
};
- version = "0.4.0.1";
+ version = "0.5.1";
+ };
+ netrc = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
+ type = "gem";
+ };
+ version = "0.11.0";
};
nio4r = {
groups = [
@@ -888,7 +1126,6 @@
"racc"
];
groups = [
- "common_mark"
"default"
"development"
"test"
@@ -901,6 +1138,25 @@
};
version = "1.18.10";
};
+ oauth2 = {
+ dependencies = [
+ "faraday"
+ "jwt"
+ "logger"
+ "multi_xml"
+ "rack"
+ "snaky_hash"
+ "version_gem"
+ ];
+ groups = [ "test" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "11rj80dgjz05x5xx93y4bfk9rcn7fl56srj8fgqn7ffzf3j13kxs";
+ type = "gem";
+ };
+ version = "2.0.18";
+ };
parallel = {
groups = [
"default"
@@ -926,10 +1182,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1mmb59323ldv6vxfmy98azgsla9k3di3fasvpb28hnn5bkx8fdff";
+ sha256 = "1256ws3w3gnfqj7r3yz2i9y1y7k38fhjphxpybkyb4fds8jsgxh6";
type = "gem";
};
- version = "3.3.10.0";
+ version = "3.3.10.1";
};
pg = {
groups = [ "default" ];
@@ -970,6 +1226,19 @@
};
version = "0.2.0";
};
+ prism = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "11ggfikcs1lv17nhmhqyyp6z8nq5pkfcj6a904047hljkxm0qlvv";
+ type = "gem";
+ };
+ version = "1.9.0";
+ };
propshaft = {
dependencies = [
"actionpack"
@@ -1023,14 +1292,13 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1pa9zpr51kqnsq549p6apvnr95s9flx6bnwqii24s8jg2b5i0p74";
+ sha256 = "1a3jd9qakasizrf7dkq5mqv51fjf02r2chybai2nskjaa6mz93mz";
type = "gem";
};
- version = "7.1.0";
+ version = "7.2.0";
};
racc = {
groups = [
- "common_mark"
"default"
"development"
"test"
@@ -1192,6 +1460,16 @@
};
version = "13.3.1";
};
+ rake-compiler-dock = {
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "1hpq52ab86s70yv5hk56f0z14izhh59af95nlv73bsrksln1zdga";
+ type = "gem";
+ };
+ version = "1.11.0";
+ };
rb-fsevent = {
groups = [
"default"
@@ -1219,6 +1497,17 @@
};
version = "0.11.1";
};
+ rb_sys = {
+ dependencies = [ "rake-compiler-dock" ];
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "1rvshyirm32lzf2sggcrhvz5hi828s3rznmkchvzgshjgdapcd2i";
+ type = "gem";
+ };
+ version = "0.9.124";
+ };
rbpdf = {
dependencies = [
"htmlentities"
@@ -1257,10 +1546,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1yc1xa3wckwwan518qii22jagqzlr5bypflx3nkvpdqr3ncd1qyz";
+ sha256 = "0qvky4s2fx5xbaz1brxanalqbcky3c7xbqd6dicpih860zgrjj29";
type = "gem";
};
- version = "7.0.3";
+ version = "7.1.0";
};
regexp_parser = {
groups = [
@@ -1290,6 +1579,33 @@
};
version = "0.6.3";
};
+ requestjs-rails = {
+ dependencies = [ "railties" ];
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0bcswqkc3n90brf4ir3xdk8wfhq19ics7zzfmlvg36rvk6c42jdv";
+ type = "gem";
+ };
+ version = "0.0.14";
+ };
+ rest-client = {
+ dependencies = [
+ "http-accept"
+ "http-cookie"
+ "mime-types"
+ "netrc"
+ ];
+ groups = [ "test" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "1qs74yzl58agzx9dgjhcpgmzfn61fqkk33k1js2y5yhlvc5l19im";
+ type = "gem";
+ };
+ version = "2.1.0";
+ };
rexml = {
groups = [
"default"
@@ -1326,10 +1642,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0gs3axi7nsmsh3y7ix1n9wn4ccsxgv2dpgwy9yzgvsfggy2k99ch";
+ sha256 = "0phadjq9xyx91535y2xn09jywhgzj8ljpm3yywyznqjrcdxgd020";
type = "gem";
};
- version = "3.2.0";
+ version = "3.3.0";
};
rotp = {
groups = [ "default" ];
@@ -1379,6 +1695,7 @@
dependencies = [
"json"
"language_server-protocol"
+ "lint_roller"
"parallel"
"parser"
"rainbow"
@@ -1391,24 +1708,31 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0ay1lrz3ffrznjfr65c6xvkinb6m4l7h68cd9qbrf7nq0j2m1pq7";
+ sha256 = "0csnyhcjrxjiiz849rc8rjdqg9w5ixwi2wcj7ii3vghbp9rg2i5f";
type = "gem";
};
- version = "1.68.0";
+ version = "1.76.2";
};
rubocop-ast = {
- dependencies = [ "parser" ];
- groups = [ "test" ];
+ dependencies = [
+ "parser"
+ "prism"
+ ];
+ groups = [
+ "default"
+ "test"
+ ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1rdjvc8jz05svc017akwsf2n91bmyj016m5qsg2dyz2i115hxyhp";
+ sha256 = "1zbikzd6237fvlzjfxdlhwi2vbmavg1cc81y6cyr581365nnghs9";
type = "gem";
};
- version = "1.40.0";
+ version = "1.49.0";
};
rubocop-performance = {
dependencies = [
+ "lint_roller"
"rubocop"
"rubocop-ast"
];
@@ -1416,14 +1740,15 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0yd616imfjvlpwsk7lw5kq9h4iz6qkmf10xlaib6b47fy5x77ncy";
+ sha256 = "1h9flnqk2f3llwf8g0mk0fvzzznfj7hsil3qg88m803pi9b06zbg";
type = "gem";
};
- version = "1.22.1";
+ version = "1.25.0";
};
rubocop-rails = {
dependencies = [
"activesupport"
+ "lint_roller"
"rack"
"rubocop"
"rubocop-ast"
@@ -1432,10 +1757,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "1zplyab5n8gh7zzbwrrxrkzb2406afrjm6a3a3zdx72k17swx9n3";
+ sha256 = "1404nfa0gw3p0xzmv4b9zg9v1da0nwc4m7796pl73zi2hwy65k4z";
type = "gem";
};
- version = "2.27.0";
+ version = "2.32.0";
};
ruby-progressbar = {
groups = [
@@ -1471,10 +1796,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
+ sha256 = "05an0wz87vkmqwcwyh5rjiaavydfn5f4q1lixcsqkphzvj7chxw5";
type = "gem";
};
- version = "2.3.2";
+ version = "2.4.1";
};
sanitize = {
dependencies = [
@@ -1492,8 +1817,8 @@
};
securerandom = {
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -1516,10 +1841,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "09m8gd0wafvvrrk7mh6rxskfx9rghbqwdhxshvrflwllsdiiwjlq";
+ sha256 = "0nsys7ghl99zn2n4zjw3bi697qqnm6pmmi7aaafln79whnlpmvqn";
type = "gem";
};
- version = "4.39.0";
+ version = "4.40.0";
};
simplecov = {
dependencies = [
@@ -1562,16 +1887,44 @@
};
version = "0.1.4";
};
+ snaky_hash = {
+ dependencies = [
+ "hashie"
+ "version_gem"
+ ];
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0mnllrwhs7psw6xxs8x5yx85k12qjfdgs8zs0bxm70bfascx58r5";
+ type = "gem";
+ };
+ version = "2.0.3";
+ };
sqlite3 = {
dependencies = [ "mini_portile2" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "073hd24qwx9j26cqbk0jma0kiajjv9fb8swv9rnz8j4mf0ygcxzs";
+ sha256 = "0sqshkafxa1r34yj4yxisd4kddmjq9jrhx6azqy3z71nwqv01yl7";
type = "gem";
};
- version = "1.7.3";
+ version = "2.5.0";
+ };
+ stimulus-rails = {
+ dependencies = [ "railties" ];
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "01nbcxyi1mhikq8yjl0g9swy1cpzx146pli6w16gcfpkl7zpcmkn";
+ type = "gem";
+ };
+ version = "1.3.4";
};
stringio = {
groups = [
@@ -1640,6 +1993,16 @@
};
version = "0.6.0";
};
+ trilogy = {
+ groups = [ "default" ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "0zq6yrp1074yd5lflz7yqzpicpcg4bxrl7sxw5c4g2m67dk3pmm2";
+ type = "gem";
+ };
+ version = "2.9.0";
+ };
tsort = {
groups = [
"default"
@@ -1657,8 +2020,8 @@
tzinfo = {
dependencies = [ "concurrent-ruby" ];
groups = [
- "common_mark"
"default"
+ "development"
"test"
];
platforms = [ ];
@@ -1670,6 +2033,7 @@
version = "2.0.6";
};
unicode-display_width = {
+ dependencies = [ "unicode-emoji" ];
groups = [
"default"
"test"
@@ -1677,10 +2041,49 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj";
+ sha256 = "0hiwhnqpq271xqari6mg996fgjps42sffm9cpk6ljn8sd2srdp8c";
type = "gem";
};
- version = "2.6.0";
+ version = "3.2.0";
+ };
+ unicode-emoji = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "03zqn207zypycbz5m9mn7ym763wgpk7hcqbkpx02wrbm1wank7ji";
+ type = "gem";
+ };
+ version = "4.2.0";
+ };
+ uniform_notifier = {
+ groups = [
+ "default"
+ "development"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "17ffzyq6482yn27r7rz2k3zslf9jigbz383d90c68vznarapi1s7";
+ type = "gem";
+ };
+ version = "1.18.0";
+ };
+ uri = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "1ijpbj7mdrq7rhpq2kb51yykhrs2s54wfs6sm9z3icgz4y6sb7rp";
+ type = "gem";
+ };
+ version = "1.1.1";
};
useragent = {
groups = [ "default" ];
@@ -1692,6 +2095,19 @@
};
version = "0.16.11";
};
+ version_gem = {
+ groups = [
+ "default"
+ "test"
+ ];
+ platforms = [ ];
+ source = {
+ remotes = [ "https://rubygems.org" ];
+ sha256 = "195r5qylwxwqbllnpli9c2pzin0lky6h3fw912h88g2lmri0j6hc";
+ type = "gem";
+ };
+ version = "1.1.9";
+ };
webrick = {
groups = [ "default" ];
platforms = [ ];
@@ -1748,10 +2164,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
- sha256 = "001sswk3d1n8nf4pzxxc4rvxw47q05m0harl50ys25b18nxqai6z";
+ sha256 = "1gqm78w1va32w6kbhpm86pvn9g28d2g7d9j9jrxys42sscg2znys";
type = "gem";
};
- version = "7.0.2";
+ version = "7.5.0";
};
xpath = {
dependencies = [ "nokogiri" ];
diff --git a/pkgs/by-name/re/redmine/package.nix b/pkgs/by-name/re/redmine/package.nix
index e9b687fde063..cbe8b0dbfd60 100644
--- a/pkgs/by-name/re/redmine/package.nix
+++ b/pkgs/by-name/re/redmine/package.nix
@@ -1,4 +1,5 @@
{
+ defaultGemConfig,
lib,
stdenvNoCC,
fetchurl,
@@ -6,10 +7,15 @@
ruby_3_3,
makeWrapper,
nixosTests,
+ openssl,
+ rustc,
+ cargo,
+ rustPlatform,
+ buildRubyGem,
}:
let
- version = "6.0.8";
+ version = "6.1.1";
rubyEnv = bundlerEnv {
name = "redmine-env-${version}";
@@ -23,6 +29,38 @@ let
"minimagick"
"test"
];
+ gemConfig = defaultGemConfig // {
+ trilogy = attrs: {
+ buildInputs = [ openssl ];
+ };
+ commonmarker = attrs: {
+ cargoDeps = rustPlatform.fetchCargoVendor {
+ inherit (buildRubyGem { inherit (attrs) gemName version source; })
+ name
+ src
+ unpackPhase
+ nativeBuildInputs
+ ;
+ hash = "sha256-rUNsf7DUVueD9revOR6Mab36XnVEmjL4bVv6TIMMqjM=";
+ };
+ dontBuild = false;
+ nativeBuildInputs = [
+ cargo
+ rustc
+ rustPlatform.cargoSetupHook
+ rustPlatform.bindgenHook
+ ];
+ disallowedReferences = [
+ rustc.unwrapped
+ ];
+ preInstall = ''
+ export CARGO_HOME="$PWD/../.cargo/"
+ '';
+ postInstall = ''
+ find $out -type f -name .rustc_info.json -delete
+ '';
+ };
+ };
};
in
stdenvNoCC.mkDerivation (finalAttrs: {
@@ -31,7 +69,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://www.redmine.org/releases/redmine-${finalAttrs.version}.tar.gz";
- hash = "sha256-5DCIUq/2Yylqn3fTEwL00BjgQwXtAwq9R5gtXdoDzEY=";
+ hash = "sha256-Hy5t0GlwYvxzNwH4i1BB3A38a1NiVet5AvIfsJcOYD4=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -41,10 +79,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
rubyEnv.bundler
];
- # taken from https://www.redmine.org/issues/33784
- # can be dropped when the upstream bug is closed and the fix is present in the upstream release
- patches = [ ./0001-python3.patch ];
-
buildPhase = ''
mv config config.dist
mv themes themes.dist