From 0f3c477ff34238733417357ab11f6a4dfb8db28f Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Mon, 28 Oct 2019 10:46:59 -0400 Subject: [PATCH] Remove dependency on ImageMagick (replace with rsvg-convert) --- README.md | 6 +++--- docker/Dockerfile | 2 +- src/invidious/users.cr | 4 ++-- src/invidious/views/login.ecr | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 1041b879..f90518a2 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ $ docker-compose build ```bash # Arch Linux -$ sudo pacman -S shards crystal imagemagick librsvg postgresql +$ sudo pacman -S shards crystal librsvg postgresql # Ubuntu or Debian # First you have to add the repository to your APT configuration. For easy setup just run in your command line: @@ -88,7 +88,7 @@ $ curl -sSL https://dist.crystal-lang.org/apt/setup.sh | sudo bash $ curl -sL "https://keybase.io/crystal/pgp_keys.asc" | sudo apt-key add - $ echo "deb https://dist.crystal-lang.org/apt crystal main" | sudo tee /etc/apt/sources.list.d/crystal.list $ sudo apt-get update -$ sudo apt install crystal libssl-dev libxml2-dev libyaml-dev libgmp-dev libreadline-dev librsvg2-dev postgresql imagemagick libsqlite3-dev +$ sudo apt install crystal libssl-dev libxml2-dev libyaml-dev libgmp-dev libreadline-dev postgresql librsvg2-bin libsqlite3-dev ``` #### Add invidious user and clone repository @@ -143,7 +143,7 @@ $ sudo systemctl start invidious.service ```bash # Install dependencies $ brew update -$ brew install shards crystal-lang postgres imagemagick librsvg +$ brew install shards crystal postgres imagemagick librsvg # Clone repository and setup postgres database $ git clone https://github.com/omarroth/invidious diff --git a/docker/Dockerfile b/docker/Dockerfile index d37cb049..e83bbfa5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -15,7 +15,7 @@ RUN crystal build --static --release --warnings all --error-on-warnings \ ./src/invidious.cr FROM alpine:latest -RUN apk add --no-cache imagemagick ttf-opensans +RUN apk add --no-cache librsvg ttf-opensans WORKDIR /invidious RUN addgroup -g 1000 -S invidious && \ adduser -u 1000 -S invidious -G invidious diff --git a/src/invidious/users.cr b/src/invidious/users.cr index 4a3dba0a..afb100f2 100644 --- a/src/invidious/users.cr +++ b/src/invidious/users.cr @@ -195,7 +195,7 @@ def generate_captcha(key, db) end clock_svg = <<-END_SVG - + 1 @@ -219,7 +219,7 @@ def generate_captcha(key, db) END_SVG image = "" - convert = Process.run(%(convert -density 1200 -resize 400x400 -background none svg:- png:-), shell: true, + convert = Process.run(%(rsvg-convert -w 400 -h 400 -b none -f png), shell: true, input: IO::Memory.new(clock_svg), output: Process::Redirect::Pipe) do |proc| image = proc.output.gets_to_end image = Base64.strict_encode(image) diff --git a/src/invidious/views/login.ecr b/src/invidious/views/login.ecr index 4b5c7e6d..59fa90e5 100644 --- a/src/invidious/views/login.ecr +++ b/src/invidious/views/login.ecr @@ -43,7 +43,7 @@ <% case captcha_type when %> <% when "image" %> <% captcha = captcha.not_nil! %> - + <% captcha[:tokens].each_with_index do |token, i| %> <% end %>