uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
275
pkgs/applications/version-management/redmine/0001-python3.patch
Normal file
275
pkgs/applications/version-management/redmine/0001-python3.patch
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
--- a/lib/redmine/scm/adapters/mercurial/redminehelper.py
|
||||
+++ b/lib/redmine/scm/adapters/mercurial/redminehelper.py
|
||||
@@ -45,17 +45,20 @@ Output example of rhmanifest::
|
||||
</repository>
|
||||
</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('<tip revision="%d" node="%s"/>\n'
|
||||
+ ui.write(b'<tip revision="%d" node="%s"/>\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('<tag revision="%d" node="%s" name="%s"/>\n'
|
||||
+ ui.write(b'<tag revision="%d" node="%s" name="%s"/>\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('<branch revision="%d" node="%s" name="%s"/>\n'
|
||||
+ ui.write(b'<branch revision="%d" node="%s" name="%s"/>\n'
|
||||
% (r, _x(node.hex(n)), _u(t)))
|
||||
|
||||
def _manifest(ui, repo, path, rev):
|
||||
ctx = _changectx(repo, rev)
|
||||
- ui.write('<manifest revision="%d" path="%s">\n'
|
||||
+ ui.write(b'<manifest revision="%d" path="%s">\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('<dir name="%s"/>\n'
|
||||
+ ui.write(b'<dir name="%s"/>\n'
|
||||
% _x(urllib.quote(name[:-1])))
|
||||
else:
|
||||
fctx = repo.filectx(f, fileid=n)
|
||||
tm, tzoffset = fctx.date()
|
||||
- ui.write('<file name="%s" revision="%d" node="%s" '
|
||||
- 'time="%d" size="%d"/>\n'
|
||||
+ ui.write(b'<file name="%s" revision="%d" node="%s" '
|
||||
+ b'time="%d" size="%d"/>\n'
|
||||
% (_u(name), fctx.rev(), _x(node.hex(fctx.node())),
|
||||
tm, fctx.size(), ))
|
||||
|
||||
- ui.write('</manifest>\n')
|
||||
+ ui.write(b'</manifest>\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('<?xml version="1.0"?>\n')
|
||||
- ui.write('<rhmanifest>\n')
|
||||
- ui.write('<repository root="%s">\n' % _u(repo.root))
|
||||
+ ui.write(b'<?xml version="1.0"?>\n')
|
||||
+ ui.write(b'<rhmanifest>\n')
|
||||
+ ui.write(b'<repository root="%s">\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('</repository>\n')
|
||||
- ui.write('</rhmanifest>\n')
|
||||
+ ui.write(b'</repository>\n')
|
||||
+ ui.write(b'</rhmanifest>\n')
|
||||
|
||||
-@command('rhsummary',[], 'hg rhsummary')
|
||||
+@command(b'rhsummary',[], b'hg rhsummary')
|
||||
def rhsummary(ui, repo, **opts):
|
||||
"""output the summary of the repository"""
|
||||
- ui.write('<?xml version="1.0"?>\n')
|
||||
- ui.write('<rhsummary>\n')
|
||||
- ui.write('<repository root="%s">\n' % _u(repo.root))
|
||||
+ ui.write(b'<?xml version="1.0"?>\n')
|
||||
+ ui.write(b'<rhsummary>\n')
|
||||
+ ui.write(b'<repository root="%s">\n' % _u(repo.root))
|
||||
try:
|
||||
_tip(ui, repo)
|
||||
_tags(ui, repo)
|
||||
_branches(ui, repo)
|
||||
# TODO: bookmarks in core (Mercurial>=1.8)
|
||||
finally:
|
||||
- ui.write('</repository>\n')
|
||||
- ui.write('</rhsummary>\n')
|
||||
+ ui.write(b'</repository>\n')
|
||||
+ ui.write(b'</rhsummary>\n')
|
||||
|
||||
83
pkgs/applications/version-management/redmine/Gemfile
Normal file
83
pkgs/applications/version-management/redmine/Gemfile
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
ruby '>= 2.4.0', '< 2.8.0'
|
||||
gem 'bundler', '>= 1.12.0'
|
||||
|
||||
gem 'rails', '5.2.6.3'
|
||||
gem 'sprockets', '~> 3.7.2' if RUBY_VERSION < '2.5'
|
||||
gem 'globalid', '~> 0.4.2' if Gem.ruby_version < Gem::Version.new('2.6.0')
|
||||
gem 'rouge', '~> 3.26.0'
|
||||
gem 'request_store', '~> 1.5.0'
|
||||
gem "mini_mime", "~> 1.0.1"
|
||||
gem "actionpack-xml_parser"
|
||||
gem 'roadie-rails', (RUBY_VERSION < '2.5' ? '~> 1.3.0' : '~> 2.2.0')
|
||||
gem 'marcel'
|
||||
gem "mail", "~> 2.7.1"
|
||||
gem 'csv', (RUBY_VERSION < '2.5' ? ['>= 3.1.1', '<= 3.1.5'] : '~> 3.1.1')
|
||||
gem 'nokogiri', (RUBY_VERSION < '2.5' ? '~> 1.10.0' : '~> 1.11.1')
|
||||
gem 'i18n', '~> 1.8.2'
|
||||
gem "rbpdf", "~> 1.20.0"
|
||||
gem 'addressable'
|
||||
gem 'rubyzip', '~> 2.3.0'
|
||||
|
||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
|
||||
|
||||
# TOTP-based 2-factor authentication
|
||||
gem 'rotp', '>= 5.0.0'
|
||||
gem 'rqrcode'
|
||||
|
||||
# Optional gem for LDAP authentication
|
||||
group :ldap do
|
||||
gem 'net-ldap', '~> 0.17.0'
|
||||
end
|
||||
|
||||
# Optional gem for OpenID authentication
|
||||
group :openid do
|
||||
gem "ruby-openid", "~> 2.9.2", :require => "openid"
|
||||
gem "rack-openid"
|
||||
end
|
||||
|
||||
# Optional gem for exporting the gantt to a PNG file
|
||||
group :minimagick do
|
||||
gem 'mini_magick', '~> 4.11.0'
|
||||
end
|
||||
|
||||
# Optional Markdown support, not for JRuby
|
||||
group :markdown do
|
||||
gem 'redcarpet', '~> 3.5.1'
|
||||
end
|
||||
|
||||
# Include database gems for the database adapters NixOS supports
|
||||
gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw]
|
||||
gem "pg", "~> 1.2.2", :platforms => [:mri, :mingw, :x64_mingw]
|
||||
|
||||
group :development do
|
||||
gem "yard"
|
||||
end
|
||||
|
||||
group :test do
|
||||
gem "rails-dom-testing"
|
||||
gem 'mocha', '>= 1.4.0'
|
||||
gem 'simplecov', '~> 0.18.5', :require => false
|
||||
gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
|
||||
# For running system tests
|
||||
gem 'puma'
|
||||
gem 'capybara', '~> 3.31.0'
|
||||
gem "selenium-webdriver"
|
||||
gem 'webdrivers', '~> 4.4', require: false
|
||||
# RuboCop
|
||||
gem 'rubocop', '~> 1.12.0'
|
||||
gem 'rubocop-performance', '~> 1.10.1'
|
||||
gem 'rubocop-rails', '~> 2.9.0'
|
||||
end
|
||||
|
||||
local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
|
||||
if File.exists?(local_gemfile)
|
||||
eval_gemfile local_gemfile
|
||||
end
|
||||
|
||||
# Load plugins' Gemfiles
|
||||
Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
|
||||
eval_gemfile file
|
||||
end
|
||||
252
pkgs/applications/version-management/redmine/Gemfile.lock
Normal file
252
pkgs/applications/version-management/redmine/Gemfile.lock
Normal file
|
|
@ -0,0 +1,252 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (5.2.6.3)
|
||||
actionpack (= 5.2.6.3)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
actionmailer (5.2.6.3)
|
||||
actionpack (= 5.2.6.3)
|
||||
actionview (= 5.2.6.3)
|
||||
activejob (= 5.2.6.3)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
actionpack (5.2.6.3)
|
||||
actionview (= 5.2.6.3)
|
||||
activesupport (= 5.2.6.3)
|
||||
rack (~> 2.0, >= 2.0.8)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
actionpack-xml_parser (2.0.1)
|
||||
actionpack (>= 5.0)
|
||||
railties (>= 5.0)
|
||||
actionview (5.2.6.3)
|
||||
activesupport (= 5.2.6.3)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||
activejob (5.2.6.3)
|
||||
activesupport (= 5.2.6.3)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (5.2.6.3)
|
||||
activesupport (= 5.2.6.3)
|
||||
activerecord (5.2.6.3)
|
||||
activemodel (= 5.2.6.3)
|
||||
activesupport (= 5.2.6.3)
|
||||
arel (>= 9.0)
|
||||
activestorage (5.2.6.3)
|
||||
actionpack (= 5.2.6.3)
|
||||
activerecord (= 5.2.6.3)
|
||||
marcel (~> 1.0.0)
|
||||
activesupport (5.2.6.3)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.8.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
arel (9.0.0)
|
||||
ast (2.4.2)
|
||||
builder (3.2.4)
|
||||
capybara (3.31.0)
|
||||
addressable
|
||||
mini_mime (>= 0.1.3)
|
||||
nokogiri (~> 1.8)
|
||||
rack (>= 1.6.0)
|
||||
rack-test (>= 0.6.3)
|
||||
regexp_parser (~> 1.5)
|
||||
xpath (~> 3.2)
|
||||
childprocess (4.1.0)
|
||||
chunky_png (1.4.0)
|
||||
concurrent-ruby (1.1.10)
|
||||
crass (1.0.6)
|
||||
css_parser (1.11.0)
|
||||
addressable
|
||||
csv (3.1.9)
|
||||
docile (1.4.0)
|
||||
erubi (1.10.0)
|
||||
globalid (1.0.0)
|
||||
activesupport (>= 5.0)
|
||||
htmlentities (4.3.4)
|
||||
i18n (1.8.11)
|
||||
concurrent-ruby (~> 1.0)
|
||||
loofah (2.16.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
mail (2.7.1)
|
||||
mini_mime (>= 0.1.1)
|
||||
marcel (1.0.2)
|
||||
method_source (1.0.0)
|
||||
mini_magick (4.11.0)
|
||||
mini_mime (1.0.3)
|
||||
minitest (5.15.0)
|
||||
mocha (1.13.0)
|
||||
mysql2 (0.5.3)
|
||||
net-ldap (0.17.0)
|
||||
nio4r (2.5.8)
|
||||
nokogiri (1.11.7)
|
||||
racc (~> 1.4)
|
||||
parallel (1.22.1)
|
||||
parser (3.1.2.0)
|
||||
ast (~> 2.4.1)
|
||||
pg (1.2.3)
|
||||
public_suffix (4.0.7)
|
||||
puma (5.6.4)
|
||||
nio4r (~> 2.0)
|
||||
racc (1.6.0)
|
||||
rack (2.2.3)
|
||||
rack-openid (1.4.2)
|
||||
rack (>= 1.1.0)
|
||||
ruby-openid (>= 2.1.8)
|
||||
rack-test (1.1.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rails (5.2.6.3)
|
||||
actioncable (= 5.2.6.3)
|
||||
actionmailer (= 5.2.6.3)
|
||||
actionpack (= 5.2.6.3)
|
||||
actionview (= 5.2.6.3)
|
||||
activejob (= 5.2.6.3)
|
||||
activemodel (= 5.2.6.3)
|
||||
activerecord (= 5.2.6.3)
|
||||
activestorage (= 5.2.6.3)
|
||||
activesupport (= 5.2.6.3)
|
||||
bundler (>= 1.3.0)
|
||||
railties (= 5.2.6.3)
|
||||
sprockets-rails (>= 2.0.0)
|
||||
rails-dom-testing (2.0.3)
|
||||
activesupport (>= 4.2.0)
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.4.2)
|
||||
loofah (~> 2.3)
|
||||
railties (5.2.6.3)
|
||||
actionpack (= 5.2.6.3)
|
||||
activesupport (= 5.2.6.3)
|
||||
method_source
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.19.0, < 2.0)
|
||||
rainbow (3.1.1)
|
||||
rake (13.0.6)
|
||||
rbpdf (1.20.1)
|
||||
htmlentities
|
||||
rbpdf-font (~> 1.19.0)
|
||||
rbpdf-font (1.19.1)
|
||||
redcarpet (3.5.1)
|
||||
regexp_parser (1.8.2)
|
||||
request_store (1.5.1)
|
||||
rack (>= 1.4)
|
||||
rexml (3.2.5)
|
||||
roadie (4.0.0)
|
||||
css_parser (~> 1.4)
|
||||
nokogiri (~> 1.8)
|
||||
roadie-rails (2.2.0)
|
||||
railties (>= 5.1, < 6.2)
|
||||
roadie (>= 3.1, < 5.0)
|
||||
rotp (6.2.0)
|
||||
rouge (3.26.1)
|
||||
rqrcode (2.1.1)
|
||||
chunky_png (~> 1.0)
|
||||
rqrcode_core (~> 1.0)
|
||||
rqrcode_core (1.2.0)
|
||||
rubocop (1.12.1)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 3.0.0.0)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 1.8, < 3.0)
|
||||
rexml
|
||||
rubocop-ast (>= 1.2.0, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 3.0)
|
||||
rubocop-ast (1.17.0)
|
||||
parser (>= 3.1.1.0)
|
||||
rubocop-performance (1.10.2)
|
||||
rubocop (>= 0.90.0, < 2.0)
|
||||
rubocop-ast (>= 0.4.0)
|
||||
rubocop-rails (2.9.1)
|
||||
activesupport (>= 4.2.0)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 0.90.0, < 2.0)
|
||||
ruby-openid (2.9.2)
|
||||
ruby-progressbar (1.11.0)
|
||||
rubyzip (2.3.2)
|
||||
selenium-webdriver (4.1.0)
|
||||
childprocess (>= 0.5, < 5.0)
|
||||
rexml (~> 3.2, >= 3.2.5)
|
||||
rubyzip (>= 1.2.2)
|
||||
simplecov (0.18.5)
|
||||
docile (~> 1.1)
|
||||
simplecov-html (~> 0.11)
|
||||
simplecov-html (0.12.3)
|
||||
sprockets (4.0.3)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
sprockets-rails (3.4.2)
|
||||
actionpack (>= 5.2)
|
||||
activesupport (>= 5.2)
|
||||
sprockets (>= 3.0.0)
|
||||
thor (1.2.1)
|
||||
thread_safe (0.3.6)
|
||||
tzinfo (1.2.9)
|
||||
thread_safe (~> 0.1)
|
||||
unicode-display_width (2.1.0)
|
||||
webdrivers (4.7.0)
|
||||
nokogiri (~> 1.6)
|
||||
rubyzip (>= 1.3.0)
|
||||
selenium-webdriver (> 3.141, < 5.0)
|
||||
webrick (1.7.0)
|
||||
websocket-driver (0.7.5)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.5)
|
||||
xpath (3.2.0)
|
||||
nokogiri (~> 1.8)
|
||||
yard (0.9.27)
|
||||
webrick (~> 1.7.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
actionpack-xml_parser
|
||||
addressable
|
||||
bundler (>= 1.12.0)
|
||||
capybara (~> 3.31.0)
|
||||
csv (~> 3.1.1)
|
||||
ffi
|
||||
i18n (~> 1.8.2)
|
||||
mail (~> 2.7.1)
|
||||
marcel
|
||||
mini_magick (~> 4.11.0)
|
||||
mini_mime (~> 1.0.1)
|
||||
mocha (>= 1.4.0)
|
||||
mysql2 (~> 0.5.0)
|
||||
net-ldap (~> 0.17.0)
|
||||
nokogiri (~> 1.11.1)
|
||||
pg (~> 1.2.2)
|
||||
puma
|
||||
rack-openid
|
||||
rails (= 5.2.6.3)
|
||||
rails-dom-testing
|
||||
rbpdf (~> 1.20.0)
|
||||
redcarpet (~> 3.5.1)
|
||||
request_store (~> 1.5.0)
|
||||
roadie-rails (~> 2.2.0)
|
||||
rotp (>= 5.0.0)
|
||||
rouge (~> 3.26.0)
|
||||
rqrcode
|
||||
rubocop (~> 1.12.0)
|
||||
rubocop-performance (~> 1.10.1)
|
||||
rubocop-rails (~> 2.9.0)
|
||||
ruby-openid (~> 2.9.2)
|
||||
rubyzip (~> 2.3.0)
|
||||
selenium-webdriver
|
||||
simplecov (~> 0.18.5)
|
||||
tzinfo-data
|
||||
webdrivers (~> 4.4)
|
||||
yard
|
||||
|
||||
RUBY VERSION
|
||||
ruby 2.7.6p219
|
||||
|
||||
BUNDLED WITH
|
||||
2.2.33
|
||||
51
pkgs/applications/version-management/redmine/default.nix
Normal file
51
pkgs/applications/version-management/redmine/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }:
|
||||
|
||||
let
|
||||
version = "4.2.5";
|
||||
rubyEnv = bundlerEnv {
|
||||
name = "redmine-env-${version}";
|
||||
|
||||
inherit ruby;
|
||||
gemdir = ./.;
|
||||
groups = [ "development" "ldap" "markdown" "minimagick" "openid" "test" ];
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "redmine";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
|
||||
sha256 = "112rc2sjx6x7046fjz7np0ilszvkqapc180ld02ncwmdxaq88w6r";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ rubyEnv rubyEnv.wrappedRuby 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 public/themes public/themes.dist
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share
|
||||
cp -r . $out/share/redmine
|
||||
for i in config files log plugins public/plugin_assets public/themes tmp; do
|
||||
rm -rf $out/share/redmine/$i
|
||||
ln -fs /run/redmine/$i $out/share/redmine/$i
|
||||
done
|
||||
|
||||
makeWrapper ${rubyEnv.wrappedRuby}/bin/ruby $out/bin/rdm-mailhandler.rb --add-flags $out/share/redmine/extra/mail_handler/rdm-mailhandler.rb
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.redmine.org/";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ aanderse felixsinger ];
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
||||
932
pkgs/applications/version-management/redmine/gemset.nix
Normal file
932
pkgs/applications/version-management/redmine/gemset.nix
Normal file
|
|
@ -0,0 +1,932 @@
|
|||
{
|
||||
actioncable = {
|
||||
dependencies = ["actionpack" "nio4r" "websocket-driver"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1gmwailk92znzrdpi4116ih6bq609a38rpnszzh5piq7b507ikpn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
actionmailer = {
|
||||
dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "103a1nixkazzdk21bg42vs722m6gm0vf17ag2fdad5dycwk3ycpp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
actionpack = {
|
||||
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15fz3rjk85svpx9lsqfdwlvyd972zf0g5jasnsllcbf6d300gdj6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
actionpack-xml_parser = {
|
||||
dependencies = ["actionpack" "railties"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1rnm6jrw3mzcf2g3q498igmhsn0kfkxq79w0nm532iclx4g4djs0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.1";
|
||||
};
|
||||
actionview = {
|
||||
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "00cfpmbk8gw9c589xnqazsbd860p2368gyh8nyzixcsa6k28wfwv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
activejob = {
|
||||
dependencies = ["activesupport" "globalid"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1gczbnk7qy4rjhv0q82nd70xawc9lb1vinvwr4ngpim5rqwzm6d6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
activemodel = {
|
||||
dependencies = ["activesupport"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ib8qlbwr9hp5284c6bmx08lrfy45zzd4inzmawz08alkgdcrzca";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
activerecord = {
|
||||
dependencies = ["activemodel" "activesupport" "arel"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ky3zc8i5rjg2dpdb95icsgb443siim9sv71xwcmryjxp5rhkqyx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
activestorage = {
|
||||
dependencies = ["actionpack" "activerecord" "marcel"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1risg5jklxrm7j5i4rzaqpb94822ivbjaasblppwmx5f33vhfpca";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
activesupport = {
|
||||
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09vif5aajkvrsdcl51kvk8crz8hl38awprh7d5wj93nscpxmqgns";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
addressable = {
|
||||
dependencies = ["public_suffix"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.0";
|
||||
};
|
||||
arel = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "9.0.0";
|
||||
};
|
||||
ast = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.4.2";
|
||||
};
|
||||
builder = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.4";
|
||||
};
|
||||
capybara = {
|
||||
dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0fhgnw6xgnphaka50b995mcmc2pjifmlr8ypz6dw2a6jkz3qqlcl";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.31.0";
|
||||
};
|
||||
childprocess = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1lvcp8bsd35g57f7wz4jigcw2sryzzwrpcgjwwf3chmjrjcww5in";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.1.0";
|
||||
};
|
||||
chunky_png = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.0";
|
||||
};
|
||||
concurrent-ruby = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.10";
|
||||
};
|
||||
crass = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.6";
|
||||
};
|
||||
css_parser = {
|
||||
dependencies = ["addressable"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1qbdgp36dhcyljhmfxrvbgp1ha9yqxhxgyg3sdm48y9m371jd2an";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.11.0";
|
||||
};
|
||||
csv = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "07mgyalwdxaxnff86j5p6n5szmhqz7nrlkb40826mzggrmva8v1m";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.9";
|
||||
};
|
||||
docile = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.0";
|
||||
};
|
||||
erubi = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.10.0";
|
||||
};
|
||||
globalid = {
|
||||
dependencies = ["activesupport"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1n5yc058i8xhi1fwcp1w7mfi6xaxfmrifdb4r4hjfff33ldn8lqj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
htmlentities = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.3.4";
|
||||
};
|
||||
i18n = {
|
||||
dependencies = ["concurrent-ruby"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.11";
|
||||
};
|
||||
loofah = {
|
||||
dependencies = ["crass" "nokogiri"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.16.0";
|
||||
};
|
||||
mail = {
|
||||
dependencies = ["mini_mime"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.7.1";
|
||||
};
|
||||
marcel = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.2";
|
||||
};
|
||||
method_source = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
mini_magick = {
|
||||
groups = ["minimagick"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.11.0";
|
||||
};
|
||||
mini_mime = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1np6srnyagghhh2w4nyv09sz47v0i6ri3q6blicj94vgxqp12c94";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.3";
|
||||
};
|
||||
minitest = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.15.0";
|
||||
};
|
||||
mocha = {
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15s53ggsykk69kxqvs4416s8yxdhz6caggva55n8sjgy4ixzwp10";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.13.0";
|
||||
};
|
||||
mysql2 = {
|
||||
groups = ["default"];
|
||||
platforms = [{
|
||||
engine = "maglev";
|
||||
} {
|
||||
engine = "mingw";
|
||||
} {
|
||||
engine = "mingw";
|
||||
} {
|
||||
engine = "ruby";
|
||||
}];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0d14pcy5m4hjig0zdxnl9in5f4izszc7v9zcczf2gyi5kiyxk8jw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.3";
|
||||
};
|
||||
net-ldap = {
|
||||
groups = ["ldap"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1j19yxrz7h3hj7kiiln13c7bz7hvpdqr31bwi88dj64zifr7896n";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.17.0";
|
||||
};
|
||||
nio4r = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.5.8";
|
||||
};
|
||||
nokogiri = {
|
||||
dependencies = ["racc"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.11.7";
|
||||
};
|
||||
parallel = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "07vnk6bb54k4yc06xnwck7php50l09vvlw1ga8wdz0pia461zpzb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.22.1";
|
||||
};
|
||||
parser = {
|
||||
dependencies = ["ast"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xhfghgidj8cbdnqp01f7kvnrv1f60izpkd9dhxsvpdzkfsdg97d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.2.0";
|
||||
};
|
||||
pg = {
|
||||
groups = ["default"];
|
||||
platforms = [{
|
||||
engine = "maglev";
|
||||
} {
|
||||
engine = "mingw";
|
||||
} {
|
||||
engine = "mingw";
|
||||
} {
|
||||
engine = "ruby";
|
||||
}];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.3";
|
||||
};
|
||||
public_suffix = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.7";
|
||||
};
|
||||
puma = {
|
||||
dependencies = ["nio4r"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0dgr2rybayih2naz3658mbzqwfrg9fxl80zsvhscf6b972kp3jdw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.6.4";
|
||||
};
|
||||
racc = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.0";
|
||||
};
|
||||
rack = {
|
||||
groups = ["default" "openid" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.3";
|
||||
};
|
||||
rack-openid = {
|
||||
dependencies = ["rack" "ruby-openid"];
|
||||
groups = ["openid"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0sg85yn981j3a0iri3ch4znzdwscvz29l7vrk3dafqw4fdg31llc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.2";
|
||||
};
|
||||
rack-test = {
|
||||
dependencies = ["rack"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
rails = {
|
||||
dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19962nkjssr77753a8893yz17kmvb63h9rl3ajq6r8rx9xifq8fn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
rails-dom-testing = {
|
||||
dependencies = ["activesupport" "nokogiri"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.3";
|
||||
};
|
||||
rails-html-sanitizer = {
|
||||
dependencies = ["loofah"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09qrfi3pgllxb08r024lln9k0qzxs57v0slsj8616xf9c0cwnwbk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.2";
|
||||
};
|
||||
railties = {
|
||||
dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0waa50li6vvckz9mznyz4jhks46ba09fmbdadrrj35mzwahyb6fy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.6.3";
|
||||
};
|
||||
rainbow = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.1";
|
||||
};
|
||||
rake = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
|
||||
type = "gem";
|
||||
};
|
||||
version = "13.0.6";
|
||||
};
|
||||
rbpdf = {
|
||||
dependencies = ["htmlentities" "rbpdf-font"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0sdj8frakpdms820rwlil38h9bh3p24xmwnjrxsjc1p9irc3za71";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.20.1";
|
||||
};
|
||||
rbpdf-font = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0pxlr0l4vf785qpy55m439dyii63a26l0sd0yyhbwwcy9zm9hd1v";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.19.1";
|
||||
};
|
||||
redcarpet = {
|
||||
groups = ["markdown"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0bvk8yyns5s1ls437z719y5sdv9fr8kfs8dmr6g8s761dv5n8zvi";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.5.1";
|
||||
};
|
||||
regexp_parser = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0x4s82lgf0l71y3xc9gp4qxkrgx1kv8f6avdqd68l46ijbyvicdm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.2";
|
||||
};
|
||||
request_store = {
|
||||
dependencies = ["rack"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "13ppgmsbrqah08j06bybd3cddv6dml79yzyjn7r8j1src78h98h7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.1";
|
||||
};
|
||||
rexml = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.5";
|
||||
};
|
||||
roadie = {
|
||||
dependencies = ["css_parser" "nokogiri"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "01kld3drqfiih5x8c13cvr6dpvdl7jml0v9bcw4fsy322lax3kn0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.0";
|
||||
};
|
||||
roadie-rails = {
|
||||
dependencies = ["railties" "roadie"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jjcqnp37z65dksykzwjiz149kx65nw70lyx8dkw1fm5x7yraqvh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.0";
|
||||
};
|
||||
rotp = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "11q7rkjx40yi6lpylgl2jkpy162mjw7mswrcgcax86vgpbpjx6i3";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.2.0";
|
||||
};
|
||||
rouge = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "197k0vskf72wxx0gzwld2jzg27bb7982xlvnzy9adlvkzp7nh8vf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.26.1";
|
||||
};
|
||||
rqrcode = {
|
||||
dependencies = ["chunky_png" "rqrcode_core"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "10sq4aknch9rzpy8af77rqxk8rr59d33slg1kwg9h7fw9f1spmjn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.1";
|
||||
};
|
||||
rqrcode_core = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "06ld6386hbdhy5h0k09axmgn424kavpc8f27k1vjhknjhbf8jjfg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.0";
|
||||
};
|
||||
rubocop = {
|
||||
dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0hi2c3a6alya9yx07nirnjzlc0mvmidnx67874njp6wf7d5xqqr9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.12.1";
|
||||
};
|
||||
rubocop-ast = {
|
||||
dependencies = ["parser"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1k9izkr5rhw3zc309yjp17z7496l74j4li3zrcgpgqfnqwz695qx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.17.0";
|
||||
};
|
||||
rubocop-performance = {
|
||||
dependencies = ["rubocop" "rubocop-ast"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "07c3kymvsid9aajwmmwr3n6apxgyjcbzbl2n6r5lpzkyz28jqn15";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.10.2";
|
||||
};
|
||||
rubocop-rails = {
|
||||
dependencies = ["activesupport" "rack" "rubocop"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0h656la1g644g54g3gidz45p6v8i1156nw6bi66cfx7078y1339d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.9.1";
|
||||
};
|
||||
ruby-openid = {
|
||||
groups = ["openid"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "190p1m0bxd9xkfk1j6cpcv3x5c367g36nsglg4m1fcwqdd13k3kz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.9.2";
|
||||
};
|
||||
ruby-progressbar = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.11.0";
|
||||
};
|
||||
rubyzip = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.2";
|
||||
};
|
||||
selenium-webdriver = {
|
||||
dependencies = ["childprocess" "rexml" "rubyzip"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17hilxa40cj7q48k6wcx1cbdb1v3q9c4nx89fji7gyqpcfm16vq7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.1.0";
|
||||
};
|
||||
simplecov = {
|
||||
dependencies = ["docile" "simplecov-html"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ycx5q699ycbjhp28sjbkrd62vwxlrb7fh4v2m7sjsp2qhi6cf6r";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.18.5";
|
||||
};
|
||||
simplecov-html = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.12.3";
|
||||
};
|
||||
sprockets = {
|
||||
dependencies = ["concurrent-ruby" "rack"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19k5cwg8gyb6lkmz4kab7c5nlplpgj64jy7vw8p5l2i2ysq5hym0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.3";
|
||||
};
|
||||
sprockets-rails = {
|
||||
dependencies = ["actionpack" "activesupport" "sprockets"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.4.2";
|
||||
};
|
||||
thor = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.1";
|
||||
};
|
||||
thread_safe = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.6";
|
||||
};
|
||||
tzinfo = {
|
||||
dependencies = ["thread_safe"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.9";
|
||||
};
|
||||
unicode-display_width = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0csjm9shhfik0ci9mgimb7hf3xgh7nx45rkd9rzgdz6vkwr8rzxn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.0";
|
||||
};
|
||||
webdrivers = {
|
||||
dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"];
|
||||
groups = ["test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "05fdb6z8541p912xanjbl9y15cyj6g44530y0nib6qhv6i90rkzp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.7.0";
|
||||
};
|
||||
webrick = {
|
||||
groups = ["default" "development"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.7.0";
|
||||
};
|
||||
websocket-driver = {
|
||||
dependencies = ["websocket-extensions"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.7.5";
|
||||
};
|
||||
websocket-extensions = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.5";
|
||||
};
|
||||
xpath = {
|
||||
dependencies = ["nokogiri"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.0";
|
||||
};
|
||||
yard = {
|
||||
dependencies = ["webrick"];
|
||||
groups = ["development"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0d08gkis1imlvppyh8dbslk89hwj5af2fmlzvmwahgx2bm48d9sn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.27";
|
||||
};
|
||||
}
|
||||
17
pkgs/applications/version-management/redmine/update.sh
Executable file
17
pkgs/applications/version-management/redmine/update.sh
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell --pure -i bash -p cacert bundix
|
||||
|
||||
# Do these steps before running this script:
|
||||
# 1. Copy Gemfile from new Redmine version to this folder
|
||||
# 2. Manually modify the database lines in Gemfile (diff the two files, it's obvious)
|
||||
|
||||
pkg_dir="$(dirname "$0")"
|
||||
cd ${pkg_dir}
|
||||
|
||||
for file in "gemset.nix" "Gemfile.lock"; do
|
||||
if [ -f ${file} ]; then
|
||||
rm ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
bundix -l
|
||||
Loading…
Add table
Add a link
Reference in a new issue