]> git.openstreetmap.org Git - rails.git/commitdiff
Merge pull request #3486 from tomhughes/vips
authorTom Hughes <tom@compton.nu>
Wed, 9 Mar 2022 18:58:54 +0000 (18:58 +0000)
committerGitHub <noreply@github.com>
Wed, 9 Mar 2022 18:58:54 +0000 (18:58 +0000)
Switch to using vips for image processing

.github/workflows/tests.yml
Dockerfile
INSTALL.md
config/initializers/new_framework_defaults_7_0.rb
script/vagrant/setup/provision.sh

index ef569e3e17fc56d98453dc0ac3aadc7afa15ba96..d4a721ff65ff0c523df1b8a59190244ffe0a769d 100644 (file)
@@ -7,7 +7,7 @@ jobs:
     name: Ubuntu ${{ matrix.ubuntu }}, Ruby ${{ matrix.ruby }}
     strategy:
       matrix:
-        ubuntu: [18.04, 20.04]
+        ubuntu: [20.04]
         ruby: [2.7, 3.0]
     runs-on: ubuntu-${{ matrix.ubuntu }}
     env:
@@ -37,7 +37,7 @@ jobs:
     - name: Install packages
       run: |
         sudo apt-get -yqq update
-        sudo apt-get -yqq install memcached
+        sudo apt-get -yqq install memcached libvips-dev
     - name: Install gems
       run: |
         gem install bundler
index 40ad730cd77f0e9b6c14706e77e568fe15212a3e..aae65c2bb9765dcc7b1ee8900fa53d56107a5ae6 100644 (file)
@@ -10,13 +10,12 @@ RUN apt-get update \
       default-jre-headless \
       file \
       firefox-geckodriver \
-      imagemagick \
       libarchive-dev \
       libffi-dev \
       libgd-dev \
-      libmagickwand-dev \
       libpq-dev \
       libsasl2-dev \
+      libvips-dev \
       libxml2-dev \
       libxslt1-dev \
       locales \
index 68b0d120eed37af098e356d3b4b08fe8fa8cfa6e..3d591c92de5fc36e775e5b9f42106ed7896f19d9 100644 (file)
@@ -24,7 +24,6 @@ of packages required before you can get the various gems installed.
 
 * Ruby 2.7+
 * PostgreSQL 9.1+
-* ImageMagick
 * Bundler (see note below about [developer Ruby setup](#rbenv))
 * Javascript Runtime
 
@@ -33,10 +32,10 @@ These can be installed on Ubuntu 20.04 or later with:
 ```
 sudo apt-get update
 sudo apt-get install ruby2.7 libruby2.7 ruby2.7-dev \
-                     libmagickwand-dev libxml2-dev libxslt1-dev nodejs \
+                     libvips-dev libxml2-dev libxslt1-dev nodejs \
                      apache2 apache2-dev build-essential git-core firefox-geckodriver \
                      postgresql postgresql-contrib libpq-dev libsasl2-dev \
-                     imagemagick libffi-dev libgd-dev libarchive-dev libbz2-dev yarnpkg
+                     libffi-dev libgd-dev libarchive-dev libbz2-dev yarnpkg
 sudo gem2.7 install bundler
 ```
 
@@ -51,8 +50,8 @@ sudo dnf install ruby ruby-devel rubygem-rdoc rubygem-bundler rubygems \
                  libxml2-devel nodejs \
                  gcc gcc-c++ git \
                  postgresql postgresql-server postgresql-contrib libpq-devel \
-                 perl-podlators ImageMagick libffi-devel gd-devel libarchive-devel \
-                 bzip2-devel nodejs-yarn
+                 perl-podlators libffi-devel gd-devel libarchive-devel \
+                 bzip2-devel nodejs-yarn vips-devel
 ```
 
 If you didn't already have PostgreSQL installed then create a PostgreSQL instance and start the server:
@@ -90,7 +89,7 @@ Installing other dependencies:
 
 * Install Homebrew from https://brew.sh/
 * Install the latest version of Ruby: `brew install ruby`
-* Install other dependencies: `brew install imagemagick libxml2 gd yarn pngcrush optipng pngquant jhead jpegoptim gifsicle svgo advancecomp`
+* Install other dependencies: `brew install libxml2 gd yarn pngcrush optipng pngquant jhead jpegoptim gifsicle svgo advancecomp vips`
 * Install Bundler: `gem install bundler` (you might need to `sudo gem install bundler` if you get an error about permissions - or see note below about [developer Ruby setup](#rbenv))
 
 You will need to tell `bundler` that `libxml2` is installed in a Homebrew location. If it uses the system-installed one then you will get errors installing the `libxml-ruby` gem later on<a name="macosx-bundle-config"></a>.
index e41b6c7d1f759e06402392aa2a8e1cd725148544..79a3a2cf04ba148b2a6178e65cd78bc3b4bd469a 100644 (file)
@@ -80,7 +80,7 @@ Rails.application.config.action_controller.raise_on_open_redirects = true
 # generate variants to use image processing macros and ruby-vips
 # operations. See the upgrading guide for detail on the changes required.
 # The `:mini_magick` option is not deprecated; it's fine to keep using it.
-Rails.application.config.active_storage.variant_processor = :vips
+Rails.application.config.active_storage.variant_processor = :vips
 
 # If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer
 # was `:marshal`. Convert all cookies to JSON, using the `:hybrid` formatter.
index 6d7e51d6a0527b91f697c2a52d0849b42c5482cc..c17ddd1d60968b08be58e2fb1ea81c5d25de4c3b 100644 (file)
@@ -17,10 +17,10 @@ apt-get upgrade -y
 
 # install packages as explained in INSTALL.md
 apt-get install -y ruby2.7 libruby2.7 ruby2.7-dev \
-                     libmagickwand-dev libxml2-dev libxslt1-dev nodejs yarnpkg \
+                     libxml2-dev libxslt1-dev nodejs yarnpkg \
                      apache2 apache2-dev build-essential git-core firefox-geckodriver \
-                     postgresql postgresql-contrib libpq-dev \
-                     libsasl2-dev imagemagick libffi-dev libgd-dev libarchive-dev libbz2-dev
+                     postgresql postgresql-contrib libpq-dev libvips-dev \
+                     libsasl2-dev libffi-dev libgd-dev libarchive-dev libbz2-dev
 gem2.7 install rake
 gem2.7 install --version "~> 2.1.4" bundler