#963885 RFP: gollum -- simple, Git-powered wiki with a sweet API and local frontend

Package:
wnpp
Source:
wnpp
Submitter:
Antoine Beaupre
Date:
2025-11-29 16:46:46 UTC
Severity:
wishlist
#963885#5
Date:
2020-06-28 15:20:31 UTC
From:
To:
* Package name    : gollum
  Version         : 5.0.1
  Upstream Author : https://github.com/orgs/gollum/people
* URL             : https://github.com/gollum/gollum
* License         : MIT
  Programming Lang: Ruby
  Description     : simple, Git-powered wiki with a sweet API and local frontend

Gollum is a simple wiki system built on top of Git. A Gollum Wiki is
simply a git repository of a specific nature:

 * A Gollum repository's contents are human-editable text or markup files.
 * Pages may be organized into directories any way you choose.
 * Other content can also be included, for example images, PDFs and
   headers/footers for your pages.
 * Gollum pages:
   * May be written in a variety of markups.
   * Can be edited with your favourite system editor or IDE (changes
     will be visible after committing) or with the built-in web
     interface.
   * Can be displayed in all versions, reverted, etc.
 * Gollum strives to be compatible with GitHub wikis (see
   --lenient-tag-lookup) 
 * Gollum supports advanced functionality like:
   * UML diagrams
   * BibTeX and Citation support
   * Annotations using CriticMarkup
   * Mathematics via MathJax
   * Macros
   * Redirects
   * RSS Feed of latest changes
   * ...and more

%%%

Curiously, Gollum is not packaged in Debian. The GitLab fork is:

https://gitlab.com/gitlab-org/gollum-lib

... but not the upstream Gollum. This would be fine if we actually had
a Gollum binary, but gollum-lib is just that: a library, without an
actual binary that renders the wiki.

That's really too bad! GitLab has nice little instructions on how to
preview your changes locally when you do edits in a clone of a wiki,
but those cannot be run on Debian because Gollum is missing...

Another similar program that is planned to be packaged in Debian is
"realms-wiki":

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895760

... and there are of course many, many more wikis packaged in
Debian. But I think "GitHub/GitLab compatibility" should be important
enough to warrant a new one...

#963885#10
Date:
2020-06-28 15:35:01 UTC
From:
To:
It seems this would require 4 more gems to be packaged:

ruby-kramdown-parser-gfm
ruby-octicons
ruby-sprockets-helpers
ruby-therubyrhino

I haven't checked the dependencies of those. Yay dependencies.

a.

#963885#15
Date:
2020-06-28 15:55:54 UTC
From:
To:
This depends on ruby-kramdown 2.0 which is not available in Debian:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960622

.. but otherwise makes gem2deb generally happy.

This has no dependencies and seems to package fine with gem2deb.

This depends on ruby-sprockets, which is correctly packaged in Debian.

This one is weird. gem2deb finds it correctly, but then creates a
package that Depends on "ruby-therubyrhino-jar" which I can't quite
figure out:

dpkg-checkbuilddeps: erreur: Unmet build dependencies: ruby-therubyrhino-jar (<< 1.7.9) ruby-therubyrhino-jar (>= 1.7.4)

That seems to be actually the therubyrhino_jar gem *but* not the latest
(1.7.9). gem2deb doesn't support asking for specific versions, so I had
to download it by hand:

    gem fetch --version "< 1.7.9" "therubyrhino_jar"

and build *that*:

    gem2deb therubyrhino_jar-1.7.8.gem

... but then i fail to build therubyrhino:

    ┌──────────────────────────────────────────────────────────────────────────────┐
    │ Run tests for ruby2.5 from debian/ruby-tests.rake                            │
    └──────────────────────────────────────────────────────────────────────────────┘

    RUBYLIB=/home/anarcat/dist/ruby-therubyrhino-2.1.2/debian/ruby-therubyrhino/usr/lib/ruby/vendor_ruby:. GEM_PATH=debian/ruby-therubyrhino/usr/share/rubygems-integration/all:/home/anarcat/.gem/ruby/2.5.0:/var/lib/gems/2.5.0:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.5.0:/usr/share/rubygems-integration/2.5.0:/usr/share/rubygems-integration/all ruby2.5 -S rake -f debian/ruby-tests.rake
    /usr/bin/ruby2.5 /usr/bin/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation

    An error occurred while loading ./spec/rhino/access_spec.rb.
    Failure/Error: require 'java'

    LoadError:
      cannot load such file -- java
    # ./lib/rhino.rb:1:in `<top (required)>'
    # ./spec/spec_helper.rb:1:in `<top (required)>'
    # ./spec/rhino/access_spec.rb:1:in `<top (required)>'

    An error occurred while loading ./spec/rhino/context_spec.rb.
    Failure/Error: require 'java'

    LoadError:
      cannot load such file -- java
    # ./lib/rhino.rb:1:in `<top (required)>'
    # ./spec/spec_helper.rb:1:in `<top (required)>'
    # ./spec/rhino/context_spec.rb:1:in `<top (required)>'

    An error occurred while loading ./spec/rhino/deprecations_spec.rb.
    Failure/Error: require 'java'

    LoadError:
      cannot load such file -- java
    # ./lib/rhino.rb:1:in `<top (required)>'
    # ./spec/spec_helper.rb:1:in `<top (required)>'
    # ./spec/rhino/deprecations_spec.rb:1:in `<top (required)>'

    An error occurred while loading ./spec/rhino/error_spec.rb.
    Failure/Error: require 'java'

    LoadError:
      cannot load such file -- java
    # ./lib/rhino.rb:1:in `<top (required)>'
    # ./spec/spec_helper.rb:1:in `<top (required)>'
    # ./spec/rhino/error_spec.rb:1:in `<top (required)>'

    An error occurred while loading ./spec/rhino/integration_spec.rb.
    Failure/Error: require 'bundler/setup'

    LoadError:
      cannot load such file -- bundler/setup
    # ./spec/rhino/integration_spec.rb:1:in `<top (required)>'

    An error occurred while loading ./spec/rhino/redjs_spec.rb.
    Failure/Error: require 'java'

    LoadError:
      cannot load such file -- java
    # ./lib/rhino.rb:1:in `<top (required)>'
    # ./spec/spec_helper.rb:1:in `<top (required)>'
    # ./spec/rhino/redjs_spec.rb:1:in `<top (required)>'

    An error occurred while loading ./spec/rhino/rhino_ext_spec.rb.
    Failure/Error: require 'java'

    LoadError:
      cannot load such file -- java
    # ./lib/rhino.rb:1:in `<top (required)>'
    # ./spec/spec_helper.rb:1:in `<top (required)>'
    # ./spec/rhino/rhino_ext_spec.rb:1:in `<top (required)>'

    An error occurred while loading ./spec/rhino/ruby_spec.rb.
    Failure/Error: require 'java'

    LoadError:
      cannot load such file -- java
    # ./lib/rhino.rb:1:in `<top (required)>'
    # ./spec/spec_helper.rb:1:in `<top (required)>'
    # ./spec/rhino/ruby_spec.rb:1:in `<top (required)>'

    An error occurred while loading ./spec/rhino/wormhole_spec.rb.
    Failure/Error: require 'java'

    LoadError:
      cannot load such file -- java
    # ./lib/rhino.rb:1:in `<top (required)>'
    # ./spec/spec_helper.rb:1:in `<top (required)>'
    # ./spec/rhino/wormhole_spec.rb:1:in `<top (required)>'
    No examples found.

    Finished in 0.00021 seconds (files took 0.17818 seconds to load)
    0 examples, 0 failures, 9 errors occurred outside of examples

    /usr/bin/ruby2.5 /usr/bin/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation failed
    ERROR: Test "ruby2.5" failed. Exiting.
    dh_auto_install: dh_ruby --install /home/anarcat/dist/ruby-therubyrhino-2.1.2/debian/ruby-therubyrhino returned exit code 1
    make: *** [debian/rules:6: binary] Error 1
    dpkg-buildpackage: erreur: debian/rules binary subprocess returned exit status 2

It seems this is going to be a tough nut to crack!

I give up - maybe someone from the ruby team can battle that one
instead? :)

a.