diff --git a/www/redmine51/Makefile b/www/redmine51/Makefile index ee73ef225071..448bf4c4e50d 100644 --- a/www/redmine51/Makefile +++ b/www/redmine51/Makefile @@ -1,125 +1,125 @@ PORTNAME= redmine PORTVERSION= 5.1.3 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= www MASTER_SITES= https://www.redmine.org/releases/ PKGNAMESUFFIX= 51 # mikael@FreeBSD.org also have full maintainership MAINTAINER= delphij@FreeBSD.org COMMENT= Flexible project management web application WWW= https://www.redmine.org/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/doc/COPYING RUN_DEPENDS= rubygem-actionpack-xml_parser-rails61>=0:textproc/rubygem-actionpack-xml_parser-rails61 \ rubygem-addressable>0:www/rubygem-addressable \ rubygem-bundler>=1.12.0:sysutils/rubygem-bundler \ rubygem-csv>=3.2.6:devel/rubygem-csv \ rubygem-erb>0:devel/rubygem-erb \ rubygem-globalid-rails61>0:databases/rubygem-globalid-rails61 \ rubygem-i18n>=1.14.1:devel/rubygem-i18n \ rubygem-mail>=2.8.1:mail/rubygem-mail \ rubygem-marcel>0:devel/rubygem-marcel \ rubygem-mini_mime>=1.1.0:mail/rubygem-mini_mime \ rubygem-mini_portile2>=2.8.2:devel/rubygem-mini_portile2 \ rubygem-mocha>=0.5.3:devel/rubygem-mocha \ rubygem-net-imap>=0.3.4:mail/rubygem-net-imap \ rubygem-net-ldap>=0.17.0:net/rubygem-net-ldap \ rubygem-net-pop>=0.1.2:mail/rubygem-net-pop \ rubygem-net-smtp>=0.3.3:mail/rubygem-net-smtp \ rubygem-nokogiri>=1.15.2:textproc/rubygem-nokogiri \ rubygem-rails61>=6.1:www/rubygem-rails61 \ rubygem-rbpdf>=1.21.3:print/rubygem-rbpdf \ rubygem-request_store15>=1.5.1:devel/rubygem-request_store15 \ rubygem-roadie-rails-rails61>=3.1.0:mail/rubygem-roadie-rails-rails61 \ rubygem-rotp>=5.0.0:devel/rubygem-rotp \ rubygem-rouge>=4.2.0:textproc/rubygem-rouge \ rubygem-rqrcode>0:www/rubygem-rqrcode \ rubygem-rubocop-performance>=0:devel/rubygem-rubocop-performance \ rubygem-rubocop-rails>0:devel/rubygem-rubocop-rails \ rubygem-rubocop>0<2:devel/rubygem-rubocop \ rubygem-rubyzip>0:archivers/rubygem-rubyzip \ rubygem-simplecov>0:devel/rubygem-simplecov # Per https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264638#c9 # to be removed if https://www.redmine.org/issues/37394 is fixed RUN_DEPENDS+= rubygem-redcarpet>=3.6.0:textproc/rubygem-redcarpet \ rubygem-html-pipeline>=2.13.2:textproc/rubygem-html-pipeline \ rubygem-commonmarker0>=0.23.8:textproc/rubygem-commonmarker0 \ rubygem-sanitize>=6.0:textproc/rubygem-sanitize \ rubygem-deckar01-task_list>=2.3.2:www/rubygem-deckar01-task_list USES= cpe ruby NO_ARCH= yes NO_BUILD= yes USERS= ${WWWOWN} GROUPS= ${WWWGRP} PLIST_SUB= WWWOWN=${WWWOWN} WWWGRP=${WWWGRP} SUB_LIST= RUBY_SUFFIX=${RUBY_SUFFIX} OPTIONS_DEFINE= MYSQL POSTGRESQL MARKDOWN RMAGIC THIN OPTIONS_DEFAULT=MYSQL MARKDOWN RMAGIC THIN OPTIONS_SUB= yes POSTGRESQL_DESC=Enable PostgreSQL support MARKDOWN_DESC= Enable Markdown support RMAGIC_DESC= Enable Gantt charts support THIN_DESC= Use Thin WEB server MYSQL_DESC= MySQL database support (via mysql2 rubygem) NO_OPTIONS_SORT= yes MYSQL_RUN_DEPENDS= rubygem-mysql2>=0.5.0:databases/rubygem-mysql2 \ rubygem-with_advisory_lock61>0:devel/rubygem-with_advisory_lock61 POSTGRESQL_RUN_DEPENDS= rubygem-pg>=1.2.2:databases/rubygem-pg MARKDOWN_RUN_DEPENDS= rubygem-redcarpet>=3.5.1:textproc/rubygem-redcarpet RMAGIC_RUN_DEPENDS= rubygem-mini_magick4>=4.11.0:graphics/rubygem-mini_magick4 THIN_RUN_DEPENDS= rubygem-thin>=1.6.2:www/rubygem-thin THIN_SUB_LIST= WWWOWN=${WWWOWN} WWWGRP=${WWWGRP} THIN_VARS= USE_RC_SUBR=redmine .include post-extract: @${RM} -r ${WRKSRC}/.hgignore ${WRKSRC}/.gitignore ${WRKSRC}/.github \ ${WRKSRC}/files/delete.me ${WRKSRC}/log/delete.me @${MV} ${WRKSRC}/config/settings.yml ${WRKSRC}/config/settings.yml.sample @${MV} ${WRKSRC}/config/database.yml.example ${WRKSRC}/config/database.yml.sample post-patch: @${RM} ${WRKSRC}/Gemfile.orig do-install: ${MKDIR} ${STAGEDIR}${WWWDIR} ${MKDIR} ${STAGEDIR}${WWWDIR}/bundler.d ${MKDIR} ${STAGEDIR}${WWWDIR}/log ${MKDIR} ${STAGEDIR}${WWWDIR}/public/plugin_assets ${MKDIR} ${STAGEDIR}${WWWDIR}/tmp # https://www.redmine.org/issues/37394 ${CP} ${FILESDIR}/commonmark.rb ${STAGEDIR}${WWWDIR}/bundler.d cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR} ${TOUCH} ${STAGEDIR}${WWWDIR}/Gemfile.lock do-install-MYSQL-on: ${CP} ${FILESDIR}/mysql.rb ${STAGEDIR}${WWWDIR}/bundler.d do-install-POSTGRESQL-on: ${CP} ${FILESDIR}/pg.rb ${STAGEDIR}${WWWDIR}/bundler.d do-install-MARKDOWN-on: ${CP} ${FILESDIR}/markdown.rb ${STAGEDIR}${WWWDIR}/bundler.d do-install-RMAGIC-on: ${CP} ${FILESDIR}/mini_magick.rb ${STAGEDIR}${WWWDIR}/bundler.d do-install-THIN-on: ${CP} ${FILESDIR}/thin.rb ${STAGEDIR}${WWWDIR}/bundler.d post-install: (cd ${STAGEDIR}${WWWDIR} && ${RM} Gemfile.lock && bundle install --local) ${RM} ${STAGEDIR}${WWWDIR}/package.json \ ${STAGEDIR}${WWWDIR}/yarn.lock .include diff --git a/www/redmine51/files/patch-Gemfile b/www/redmine51/files/patch-Gemfile index 94e6eb0fda23..a45329ea4f75 100644 --- a/www/redmine51/files/patch-Gemfile +++ b/www/redmine51/files/patch-Gemfile @@ -1,132 +1,134 @@ --- Gemfile.orig 2024-06-12 00:45:02 UTC +++ Gemfile -@@ -3,24 +3,24 @@ gem 'rails', '6.1.7.8' +@@ -2,25 +2,25 @@ ruby '>= 2.7.0', '< 3.3.0' + ruby '>= 2.7.0', '< 3.3.0' - gem 'rails', '6.1.7.8' +-gem 'rails', '6.1.7.8' -gem 'rouge', '~> 4.2.0' ++gem 'rails', '~> 6.1.7' +gem 'rouge', '~> 4.2' gem 'request_store', '~> 1.5.0' gem 'mini_mime', '~> 1.1.0' gem "actionpack-xml_parser" gem 'roadie-rails', '~> 3.1.0' gem 'marcel' gem 'mail', '~> 2.8.1' -gem 'nokogiri', '~> 1.15.2' +gem 'nokogiri', '~> 1.15' gem 'i18n', '~> 1.14.1' gem 'rbpdf', '~> 1.21.3' gem 'addressable' gem 'rubyzip', '~> 2.3.0' # Ruby Standard Gems -gem 'csv', '~> 3.2.6' -gem 'net-imap', '~> 0.3.4' +gem 'csv', '~> 3.2' +gem 'net-imap', '~> 0.3' gem 'net-pop', '~> 0.1.2' -gem 'net-smtp', '~> 0.3.3' +gem 'net-smtp', '~> 0.3' gem 'rexml', require: false if Gem.ruby_version >= Gem::Version.new('3.0') # Windows does not include zoneinfo files, so bundle the tzinfo-data gem @@ -31,88 +31,14 @@ gem 'rqrcode' gem 'rqrcode' # HTML pipeline and sanitization -gem "html-pipeline", "~> 2.13.2" +gem "html-pipeline", "~> 2.13" gem "sanitize", "~> 6.0" # Optional gem for LDAP authentication group :ldap do - gem 'net-ldap', '~> 0.17.0' + gem 'net-ldap', '~> 0.17' end -# Optional gem for exporting the gantt to a PNG file -group :minimagick do - gem 'mini_magick', '~> 4.12.0' -end - -# Optional Markdown support -group :markdown do - gem 'redcarpet', '~> 3.6.0' -end - -# Optional CommonMark support, not for JRuby -group :common_mark do - gem "commonmarker", '~> 0.23.8' - gem 'deckar01-task_list', '2.3.2' -end - -# Include database gems for the adapters found in the database -# configuration file -require 'erb' -require 'yaml' -database_file = File.join(File.dirname(__FILE__), "config/database.yml") -if File.exist?(database_file) - yaml_config = ERB.new(IO.read(database_file)).result - database_config = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(yaml_config) : YAML.load(yaml_config) - adapters = database_config.values.filter_map {|c| c['adapter']}.uniq - if adapters.any? - adapters.each do |adapter| - case adapter - when 'mysql2' - gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw] - gem "with_advisory_lock" - when /postgresql/ - gem 'pg', '~> 1.5.3', :platforms => [:mri, :mingw, :x64_mingw] - when /sqlite3/ - gem 'sqlite3', '~> 1.6.0', :platforms => [:mri, :mingw, :x64_mingw] - when /sqlserver/ - gem "tiny_tds", "~> 2.1.2", :platforms => [:mri, :mingw, :x64_mingw] - gem "activerecord-sqlserver-adapter", "~> 6.1.0", :platforms => [:mri, :mingw, :x64_mingw] - else - warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems") - end - end - else - warn("No adapter found in config/database.yml, please configure it first") - end -else - warn("Please configure your config/database.yml first") -end - -group :development do - gem 'listen', '~> 3.3' - gem "yard" -end - -group :test do - gem "rails-dom-testing" - gem 'mocha', '>= 2.0.1' - gem 'simplecov', '~> 0.22.0', :require => false - gem "ffi", platforms: [:mingw, :x64_mingw, :mswin] - # For running system tests - gem 'puma' - gem "capybara", ">= 3.39" - if Gem.ruby_version < Gem::Version.new('3.0') - gem "selenium-webdriver", "<= 4.9.0" - gem "webdrivers", require: false - else - gem "selenium-webdriver", ">= 4.11.0" - end - # RuboCop - gem 'rubocop', '~> 1.57.0', require: false - gem 'rubocop-performance', '~> 1.19.0', require: false - gem 'rubocop-rails', '~> 2.22.1', require: false -end - local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local") if File.exist?(local_gemfile) eval_gemfile local_gemfile @@ -121,4 +47,8 @@ Dir.glob File.expand_path("../plugins/*/{Gemfile,Plugi # Load plugins' Gemfiles Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file| eval_gemfile file +end + +Dir["#{File.dirname(__FILE__)}/bundler.d/*.rb"].each do |bundle| + self.instance_eval(Bundler.read_file(bundle)) end