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