On Fri, Sep 01, 2023 at 08:44:24PM +0000, Jeremy Evans wrote:
> Here's a diff to update textproc/ruby-kramdown to 2.4.0.  However, I
> found the port to be fairly broken since rexml was removed from the Ruby
> standard library in Ruby 3.0. There were already comments in the port
> related to this.  We either need to add a port for rexml, or we should
> remove kramdown.
> 
> The test framework shipped with Kramdown is somewhat broken; this
> includes a patch to update them so that more of them pass, but there
> are still some failures.
> 
> OKs to update kramdown and import rexml, or alternatively to remove
> kramdown?  I recommend removal.  kramdown is a pure ruby port that
> doesn't benefit from being packaged, IMO.

I'm ok with removing it.

> 
> Thanks,
> Jeremy
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/textproc/ruby-kramdown/Makefile,v
> retrieving revision 1.15
> diff -u -p -u -p -r1.15 Makefile
> --- Makefile  11 Mar 2022 20:03:28 -0000      1.15
> +++ Makefile  1 Sep 2023 20:22:07 -0000
> @@ -1,6 +1,6 @@
>  COMMENT=     fast, pure Ruby Markdown parser
>  
> -DISTNAME=    kramdown-2.3.1
> +DISTNAME=    kramdown-2.4.0
>  
>  CATEGORIES=  textproc
>  
> @@ -9,14 +9,15 @@ HOMEPAGE=   https://kramdown.gettalong.org
>  # MIT
>  PERMIT_PACKAGE=      Yes
>  
> -# After Ruby 3.0 is added to ports tree
> -#RUN_DEPENDS=        textproc/ruby-rexml
> +RUN_DEPENDS= textproc/ruby-rexml,${MODRUBY_FLAVOR}
>  
>  MODULES=     lang/ruby
>  
>  CONFIGURE_STYLE=ruby gem
>  
> +TEST_DEPENDS =       ${RUN_DEPENDS} \
> +             textproc/ruby-rouge,${MODRUBY_FLAVOR}
>  MODRUBY_TEST=        ruby
> -MODRUBY_TEST_TARGET =        ${WRKSRC}/test/run_tests.rb
> +MODRUBY_TEST_TARGET =        -C ${WRKSRC} -Ku -v -I lib test/run_tests.rb
>  
>  .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/textproc/ruby-kramdown/distinfo,v
> retrieving revision 1.7
> diff -u -p -u -p -r1.7 distinfo
> --- distinfo  18 Mar 2021 08:40:41 -0000      1.7
> +++ distinfo  1 Sep 2023 20:21:43 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (kramdown-2.3.1.gem) = Wek4z6QqPWFpspVyf+CcTJHXQjNsj70QQlKfTbZkq0k=
> -SIZE (kramdown-2.3.1.gem) = 122368
> +SHA256 (kramdown-2.4.0.gem) = ti5by9bqIMemcw67sqEHI3hW4U8pzr9bEMh2zBokgcU=
> +SIZE (kramdown-2.4.0.gem) = 122368
> Index: patches/patch-_metadata
> ===================================================================
> RCS file: patches/patch-_metadata
> diff -N patches/patch-_metadata
> --- patches/patch-_metadata   11 Mar 2022 20:03:28 -0000      1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,15 +0,0 @@
> -Don't require runtime dependency on rexml, not needed
> -in Ruby 2.5-2.7 where it is in stdlib.
> -
> -Index: .metadata
> ---- .metadata.orig
> -+++ .metadata
> -@@ -17,7 +17,7 @@ dependencies:
> -     - - ">="
> -       - !ruby/object:Gem::Version
> -         version: '0'
> --  type: :runtime
> -+  type: :development
> -   prerelease: false
> -   version_requirements: !ruby/object:Gem::Requirement
> -     requirements:
> Index: patches/patch-test_run_tests_rb
> ===================================================================
> RCS file: /cvs/ports/textproc/ruby-kramdown/patches/patch-test_run_tests_rb,v
> retrieving revision 1.3
> diff -u -p -u -p -r1.3 patch-test_run_tests_rb
> --- patches/patch-test_run_tests_rb   11 Mar 2022 20:03:28 -0000      1.3
> +++ patches/patch-test_run_tests_rb   1 Sep 2023 20:20:09 -0000
> @@ -3,19 +3,24 @@ Fix tests so they run.
>  Index: test/run_tests.rb
>  --- test/run_tests.rb.orig
>  +++ test/run_tests.rb
> -@@ -32,9 +32,9 @@ Dir[arg].each {|f| fwidth = [fwidth, f.length + 10].ma
> +@@ -32,15 +32,19 @@ Dir[arg].each {|f| fwidth = [fwidth, f.length + 10].ma
>     html_file = file.sub('.text', '.html')
>     opts_file = file.sub('.text', '.options')
>     opts_file = File.join(File.dirname(file), 'options') unless 
> File.exist?(opts_file)
>  -  options = File.exist?(opts_file) ? YAML.safe_load(File.read(opts_file)) : 
> {auto_ids: false, footnote_nr: 1}
>  -  doc = Kramdown::Document.new(File.read(file), options)
> ++  unless File.exist?(html_file)
> ++    puts 'SKIPPED'
> ++    next 
> ++  end
>     begin
> -+    options = File.exist?(opts_file) ? YAML.safe_load(File.read(opts_file)) 
> : {auto_ids: false, footnote_nr: 1}
> ++    options = File.exist?(opts_file) ? YAML.safe_load(File.read(opts_file), 
> permitted_classes: [Symbol]) : {auto_ids: false, footnote_nr: 1, 
> permitted_classes: [Symbol]}
>  +    doc = Kramdown::Document.new(File.read(file), options)
>       assert_equal(File.read(html_file), doc.to_html)
>       puts 'PASSED'
> -   rescue StandardError
> -@@ -42,5 +42,5 @@ Dir[arg].each {|f| fwidth = [fwidth, f.length + 10].ma
> +-  rescue StandardError
> ++  rescue StandardError, LoadError
> +     puts '  FAILED'
>       puts $!.message if $VERBOSE
>       puts $!.backtrace if $DEBUG
>     end


Reply via email to