image_compressor_pack 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.travis.yml +6 -3
  4. data/README.md +11 -0
  5. data/Rakefile +23 -1
  6. data/certs/ignisf.pem.asc +51 -0
  7. data/ext/image_compressor_pack/extconf.rb +9 -0
  8. data/lib/image_compressor_pack/dynamically_linked_recipes.yml +6 -0
  9. data/lib/image_compressor_pack/statically_linked_recipes.yml +6 -2
  10. data/lib/image_compressor_pack/version.rb +1 -1
  11. data/ports/patches/jpeg-archive/0001-Add-a-rudimentary-configure-script.patch +1 -1
  12. data/ports/patches/jpeg-archive/0002-Use-our-mozjpeg.patch +1 -1
  13. data/ports/patches/jpeg-archive/0003-Use-cc-instead-of-gcc-by-default.patch +36 -0
  14. data/ports/patches/mozjpeg/0001-Build-static-binaries.patch +1 -1
  15. data/ports/patches/mozjpeg/0002-Fix-x86-64-ABI-conformance-issue-in-SIMD-code-descri.patch +332 -0
  16. data/ports/patches/pngcrush/0001-Add-an-install-task.patch +1 -1
  17. data/ports/patches/pngcrush/0002-Add-a-configure-script.patch +1 -1
  18. data/ports/patches/pngcrush/0003-Use-cc-by-default-instead-of-gcc.patch +36 -0
  19. data/ports/patches/pngcrush/{0003-Produce-a-static-binary.patch → 0004-Produce-a-static-binary.patch} +4 -4
  20. data/ports/patches/pngquant/0001-Work-around-mini-portile-s-configure-invocation.patch +1 -1
  21. data/ports/patches/pngquant/0002-Add-default-LDFLAGS.patch +1 -1
  22. data/ports/patches/pngquant/0003-Disable-libpng-check.patch +1 -1
  23. data/ports/patches/pngquant/0004-Remove-libz-check.patch +1 -1
  24. data/ports/patches/pngquant/0005-Remove-lcms2-check.patch +1 -1
  25. data/ports/patches/pngquant/0006-Do-not-build-static-binary.patch +1 -1
  26. data/ports/patches/pngquant/0007-Use-cc-instead-of-gcc-by-default.patch +27 -0
  27. data/release/x86-linux/Vagrantfile +84 -0
  28. data/release/x86_64-freebsd10/Vagrantfile +86 -0
  29. data/release/x86_64-linux/Vagrantfile +84 -0
  30. data.tar.gz.sig +0 -0
  31. metadata +10 -2
  32. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 43e6936c9120b17bfe3c0d4a023c13b3bae530b7
4
- data.tar.gz: edd5b059efe87343a452022a30270b4b64a35cd4
3
+ metadata.gz: 41d51c703869f6e07e06d5511cb0b727ee7f6f0b
4
+ data.tar.gz: e04c08e3d305e66ebd9e972a35860a6311d5b61d
5
5
  SHA512:
6
- metadata.gz: 9de816e7b0ee382ca6b18302d9ffcf262c330ed1d1205062541293746ca46527d2625a96124089cb3a99195608ee13bd95e16c648e84097a48652ac46cd31ad5
7
- data.tar.gz: 8b50f11347528a8a159ec92d61d97fa19ee17d18adaf1059a23f0c0a9baab43716a323ca33a1bd1ea559d613e35ef9894e0ced2a84f3006c2b20e44e10593c2b
6
+ metadata.gz: 8da03caf5543628f0064df3093aa3eb32eae36645a1be0437931f81901bff46254c913cab5fef2406f640e339382be3b4c52bcc98ea7152b1b83a882d129c8ed
7
+ data.tar.gz: 5b8cc83fd4cd80b9aad33d89cb1e3aa35da053edccbf36ffe99bce26c70c6b3832ce14e92c0d49bbc13bcbc0979d204fd059fb85fcfeaf0876aa7ea82cbd80f6
checksums.yaml.gz.sig CHANGED
Binary file
data/.travis.yml CHANGED
@@ -23,17 +23,20 @@ matrix:
23
23
  before_install:
24
24
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then gem update bundler; fi
25
25
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo gem install bundler; fi
26
+ script:
27
+ - bundle exec rake
28
+ - bundle exec rake binary
26
29
  cache:
27
30
  bundler: true
28
31
  directories:
29
32
  - ports/archives
30
33
  deploy:
31
34
  provider: releases
35
+ skip_cleanup: true
36
+ file_glob: true
37
+ file: $(git ls-files -o pkg | head -1)
32
38
  api_key:
33
39
  secure: lxEv32SRj+E82RJRfmjNDHqjMJqu15sIeAQ283rYxWDkblFiVeZewTNfRqr3/0hgarUaWsr+JK8cuH+YbB5b6LU5sBWCdrmJ8bL9W+Ru803KdGH3J/7S6WaAPUBV0K5PZvz5TKpF8cVkQ2Dz5jpThR8me773yn7iK0nr1Z3Y0ewiFow6JFOODivluRVlQj9HdFMU4ydc/x2aTIGwshlGYyHMS5htqcpA+/dEOrtrNqMCRUPlDcl11HaCZ0uRqD2YjXloIrpBZotjr8pgpJNZ+wvOQxkw9skAmIUjJJ1DEqRkTImqBKou1E6fSc+e6GRYOgmik6AJWCTNpz25pwXiACbIidIRQWLLLTQFJYGnBswE0yO4fdkmeZ8PwQL5SjEWQ4+mL0iGRBx+JrRYpFkCKQH9Lm4UCuKnPxf0/m41odifqW/bNyil4x2H1WKgqS88UR7IhMJAShP0r0X/3duCSrvVe59XnJnKQHjWjqxQYmpkfJ40Y5Wx9Gcp+vYFhceeRF68mE5ZMdZvcxHqlmh7TiIEsPIuqmu49aYF6r+KnsXAIkjiRvdIvNtnpMTGtoHmyk4bO3cCiI2bd29BPRhgljESl5h3iTpitlGnSJk+ofFZyZDq2bvktR5hC+QaJsExoNlIB0xIA47qXtjPn+UaxlZkM8WqfqVVSSCS4m0teZs=
34
- file: "$(git ls-files -o pkg | head -1)"
35
40
  on:
36
- repo: ignisf/image_compressor_pack
37
- branch: master
38
41
  tags: true
39
42
  condition: $TRAVIS_OS_NAME = osx
data/README.md CHANGED
@@ -39,6 +39,17 @@ See https://github.com/toy/image_optim#from-rails for more info on Rails
39
39
  configuration or https://github.com/toy/image_optim#configuration if you are
40
40
  using `image_optim` and `image_compressor_pack` outside of Rails.
41
41
 
42
+ ## Note on the security of this gem
43
+
44
+ The packaged utilities are pretty niche and I wouldn't use them on images from
45
+ untrusted parties. Do so on your own responsibility.
46
+
47
+ The .gem files I produce on trusted systems are signed with the certificate in
48
+ the `certs` directory. There's an OpenPGP signature there, too. It can be used
49
+ to tie the x509 certificate to my OpenPGP web of trust. See
50
+ [this](http://guides.rubygems.org/security/) for more info on verifying gem
51
+ signatures.
52
+
42
53
  ## License
43
54
 
44
55
  The gem is available as open source under the terms of the
data/Rakefile CHANGED
@@ -24,7 +24,7 @@ desc "Build #{Helpers.binary_gem_name} into the pkg directory"
24
24
  task binary: :compile do
25
25
  gemspec = Helpers.binary_gemspec
26
26
  gemspec.extensions.clear
27
- gemspec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem")
27
+ gemspec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") unless ENV['TRAVIS'] == "true"
28
28
 
29
29
  # We don't need most things for the binary
30
30
  gemspec.files = `git ls-files lib`.split("\n")
@@ -58,6 +58,28 @@ begin
58
58
  rescue LoadError
59
59
  end
60
60
 
61
+ namespace :build do
62
+ ['x86_64-linux', 'x86-linux', 'x86_64-freebsd10'].each do |arch|
63
+ desc "build binary gem for #{arch}"
64
+ task arch do
65
+ arch_dir = Pathname(__FILE__).dirname.join("release/#{arch}")
66
+ Dir.chdir(arch_dir) do
67
+ ENV['RUBYLIB'] = nil # https://github.com/mitchellh/vagrant/issues/6158
68
+ sh "vagrant up"
69
+ # sh "vagrant ssh -c 'rm -rf ~/image_compressor_pack'"
70
+ system "vagrant ssh -c 'git clone /image_compressor_pack/.git ~/image_compressor_pack'"
71
+ sh "vagrant ssh -c 'cd ~/image_compressor_pack && bundle install --path vendor/bundle'"
72
+ sh "cat ~/.ssh/gem-private_key.pem | vagrant ssh -c 'cat > ~/.ssh/gem-private_key.pem'"
73
+ sh "vagrant ssh -c 'cd ~/image_compressor_pack && bundle exec rake binary'"
74
+ system "vagrant ssh -c 'shred -vzu ~/.ssh/gem-private_key.pem'"
75
+ system "vagrant ssh -c 'gshred -vzu ~/.ssh/gem-private_key.pem'"
76
+ sh "vagrant ssh -c 'cp ~/image_compressor_pack/pkg/*.gem /vagrant'"
77
+ sh "vagrant destroy"
78
+ end
79
+ end
80
+ end
81
+ end
82
+
61
83
  task build: [:clean, :download]
62
84
 
63
85
  task default: [:compile, :spec]
@@ -0,0 +1,51 @@
1
+ -----BEGIN PGP MESSAGE-----
2
+ Version: GnuPG v2
3
+
4
+ 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
50
+ =4SLJ
51
+ -----END PGP MESSAGE-----
@@ -1,6 +1,15 @@
1
1
  require 'fileutils'
2
2
  require_relative '../../lib/image_compressor_pack/recipes'
3
3
 
4
+ if Gem::Platform.local.os =~ /freebsd/
5
+ unless system 'which gmake 2>&1 > /dev/null'
6
+ fail "image_compressor_pack requires gmake to be installed"
7
+ end
8
+
9
+ `ln -fs #{`which gmake`.chomp} make`
10
+ ENV['PATH'] = "#{File.expand_path '.'}:#{ENV['PATH']}"
11
+ end
12
+
4
13
  root = File.expand_path("../../../", __FILE__)
5
14
 
6
15
  recipes = ImageCompressorPack.recipes
@@ -27,6 +27,9 @@ mozjpeg:
27
27
  files:
28
28
  - :url: https://github.com/mozilla/mozjpeg/releases/download/v3.1/mozjpeg-3.1-release-source.tar.gz
29
29
  :sha256: deedd88342c5da219f0047d9a290cd58eebe1b7a513564fcd8ebc49670077a1f
30
+ patch_files:
31
+ - 0002-Fix-x86-64-ABI-conformance-issue-in-SIMD-code-descri.patch
32
+ configure_options: ['--enable-static', '--disable-shared', '--with-jpeg8']
30
33
  optipng:
31
34
  version: 0.7.6
32
35
  files:
@@ -45,6 +48,7 @@ pngquant:
45
48
  - 0004-Remove-libz-check.patch
46
49
  - 0005-Remove-lcms2-check.patch
47
50
  - 0006-Do-not-build-static-binary.patch
51
+ - 0007-Use-cc-instead-of-gcc-by-default.patch
48
52
  configure_options: []
49
53
  advancecomp:
50
54
  version: 1.20
@@ -75,6 +79,7 @@ pngcrush:
75
79
  patch_files:
76
80
  - 0001-Add-an-install-task.patch
77
81
  - 0002-Add-a-configure-script.patch
82
+ - 0003-Use-cc-by-default-instead-of-gcc.patch
78
83
  jpegoptim:
79
84
  version: 1.4.3
80
85
  files:
@@ -90,4 +95,5 @@ jpeg-archive:
90
95
  patch_files:
91
96
  - 0001-Add-a-rudimentary-configure-script.patch
92
97
  - 0002-Use-our-mozjpeg.patch
98
+ - 0003-Use-cc-instead-of-gcc-by-default.patch
93
99
  configure_options: []
@@ -28,9 +28,10 @@ mozjpeg:
28
28
  files:
29
29
  - :url: https://github.com/mozilla/mozjpeg/releases/download/v3.1/mozjpeg-3.1-release-source.tar.gz
30
30
  :sha256: deedd88342c5da219f0047d9a290cd58eebe1b7a513564fcd8ebc49670077a1f
31
- configure_options: ['--enable-static', '--disable-shared', 'libpng_LIBS=-lpng\ -lz']
31
+ configure_options: ['--enable-static', '--disable-shared', 'libpng_LIBS=-lpng\ -lz', '--with-jpeg8']
32
32
  patch_files:
33
33
  - 0001-Build-static-binaries.patch
34
+ - 0002-Fix-x86-64-ABI-conformance-issue-in-SIMD-code-descri.patch
34
35
  optipng:
35
36
  version: 0.7.6
36
37
  files:
@@ -50,6 +51,7 @@ pngquant:
50
51
  - 0003-Disable-libpng-check.patch
51
52
  - 0004-Remove-libz-check.patch
52
53
  - 0005-Remove-lcms2-check.patch
54
+ - 0007-Use-cc-instead-of-gcc-by-default.patch
53
55
  configure_options: ['--extra-ldflags=-lpng']
54
56
  advancecomp:
55
57
  version: 1.20
@@ -82,7 +84,8 @@ pngcrush:
82
84
  patch_files:
83
85
  - 0001-Add-an-install-task.patch
84
86
  - 0002-Add-a-configure-script.patch
85
- - 0003-Produce-a-static-binary.patch
87
+ - 0003-Use-cc-by-default-instead-of-gcc.patch
88
+ - 0004-Produce-a-static-binary.patch
86
89
  jpegoptim:
87
90
  version: 1.4.3
88
91
  files:
@@ -99,4 +102,5 @@ jpeg-archive:
99
102
  patch_files:
100
103
  - 0001-Add-a-rudimentary-configure-script.patch
101
104
  - 0002-Use-our-mozjpeg.patch
105
+ - 0003-Use-cc-instead-of-gcc-by-default.patch
102
106
  configure_options: ['--ldflags=-static']
@@ -1,3 +1,3 @@
1
1
  module ImageCompressorPack
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  From eec20eb9b5601caf6edeed9355ac225cecc249d0 Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Fri, 10 Jun 2016 11:58:28 +0300
4
- Subject: [PATCH 1/2] Add a rudimentary configure script
4
+ Subject: [PATCH 1/3] Add a rudimentary configure script
5
5
 
6
6
  ---
7
7
  Makefile | 3 +++
@@ -1,7 +1,7 @@
1
1
  From 0a577842fc7f44e8b57c1ba8130761e8759626d5 Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Fri, 10 Jun 2016 11:59:33 +0300
4
- Subject: [PATCH 2/2] Use our mozjpeg
4
+ Subject: [PATCH 2/3] Use our mozjpeg
5
5
 
6
6
  ---
7
7
  Makefile | 23 +----------------------
@@ -0,0 +1,36 @@
1
+ From 9c5891e0b19451e5f2a244aa2f1ecdca31027095 Mon Sep 17 00:00:00 2001
2
+ From: Petko Bordjukov <bordjukov@gmail.com>
3
+ Date: Tue, 14 Jun 2016 00:03:54 +0300
4
+ Subject: [PATCH 3/3] Use cc instead of gcc by default
5
+
6
+ ---
7
+ Makefile | 2 +-
8
+ src/iqa/Makefile | 2 +-
9
+ 2 files changed, 2 insertions(+), 2 deletions(-)
10
+
11
+ diff --git a/Makefile b/Makefile
12
+ index 2cde65a..04d5b10 100644
13
+ --- a/Makefile
14
+ +++ b/Makefile
15
+ @@ -1,4 +1,4 @@
16
+ -CC ?= gcc
17
+ +CC ?= cc
18
+ CFLAGS += -std=c99 -Wall -O3
19
+ LDFLAGS += -lm
20
+ MAKE ?= make
21
+ diff --git a/src/iqa/Makefile b/src/iqa/Makefile
22
+ index 59be8a3..cbca586 100644
23
+ --- a/src/iqa/Makefile
24
+ +++ b/src/iqa/Makefile
25
+ @@ -11,7 +11,7 @@ SRC= \
26
+ OBJ = $(SRC:.c=.o)
27
+
28
+ INCLUDES = -I./include
29
+ -CC = gcc
30
+ +CC ?= cc
31
+
32
+ ifeq ($(RELEASE),1)
33
+ OUTDIR=./build/release
34
+ --
35
+ 2.8.3
36
+
@@ -1,7 +1,7 @@
1
1
  From 9a12984ba0dde61da211a023c84c04a06a5219e6 Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Thu, 9 Jun 2016 01:28:09 +0300
4
- Subject: [PATCH] Build static binaries
4
+ Subject: [PATCH 1/2] Build static binaries
5
5
 
6
6
  ---
7
7
  Makefile.am | 1 +
@@ -0,0 +1,332 @@
1
+ From 588337f6e288b1ba42de8262517cc58b81d38c71 Mon Sep 17 00:00:00 2001
2
+ From: Chandler Carruth <chandlerc@gmail.com>
3
+ Date: Tue, 15 Sep 2015 11:57:03 -0700
4
+ Subject: [PATCH 2/2] Fix x86-64 ABI conformance issue in SIMD code
5
+ (descriptions cribbed by DRC from discussion in #20) In the x86-64 ABI, the
6
+ high (unused) DWORD of a 32-bit argument's register is undefined, so it was
7
+ incorrect to use a 64-bit mov instruction to transfer a JDIMENSION argument
8
+ in the 64-bit SSE2 SIMD functions. The code worked thus far only because the
9
+ existing compiler optimizers weren't smart enough to do anything else with
10
+ the register in question, so the upper 32 bits happened to be all zeroes--
11
+ for the past 6 years, on every x86-64 compiler previously known to mankind.
12
+
13
+ The bleeding-edge Clang/LLVM compiler has a smarter optimizer, and
14
+ under certain circumstances, it will attempt to load-combine adjacent
15
+ 32-bit integers from one of the libjpeg structures into a single 64-bit
16
+ integer and pass that 64-bit integer as a 32-bit argument to one of the
17
+ SIMD functions (which is allowed by the ABI, since the upper 32 bits of
18
+ the 32-bit argument's register are undefined.) This caused the
19
+ libjpeg-turbo regression tests to crash.
20
+
21
+ Also enhance the documentation of JDIMENSION to explain that its size
22
+ is significant to the implementation of the SIMD code.
23
+
24
+ Closes #20. Refer also to http://crbug.com/532214.
25
+ ---
26
+ jmorecfg.h | 4 +++-
27
+ simd/jccolext-sse2-64.asm | 4 ++--
28
+ simd/jcgryext-sse2-64.asm | 4 ++--
29
+ simd/jcsample-sse2-64.asm | 12 ++++++------
30
+ simd/jdcolext-sse2-64.asm | 4 ++--
31
+ simd/jdmrgext-sse2-64.asm | 8 ++++----
32
+ simd/jdsample-sse2-64.asm | 8 ++++----
33
+ simd/jidctflt-sse2-64.asm | 2 +-
34
+ simd/jidctfst-sse2-64.asm | 2 +-
35
+ simd/jidctint-sse2-64.asm | 2 +-
36
+ simd/jidctred-sse2-64.asm | 4 ++--
37
+ simd/jquantf-sse2-64.asm | 2 +-
38
+ simd/jquanti-sse2-64.asm | 2 +-
39
+ 13 files changed, 30 insertions(+), 28 deletions(-)
40
+
41
+ diff --git a/jmorecfg.h b/jmorecfg.h
42
+ index 108e7de..d9c35de 100644
43
+ --- a/jmorecfg.h
44
+ +++ b/jmorecfg.h
45
+ @@ -155,7 +155,9 @@ typedef long INT32;
46
+ * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore
47
+ * "unsigned int" is sufficient on all machines. However, if you need to
48
+ * handle larger images and you don't mind deviating from the spec, you
49
+ - * can change this datatype.
50
+ + * can change this datatype. (Note that changing this datatype will
51
+ + * potentially require modifying the SIMD code. The x86-64 SIMD extensions,
52
+ + * in particular, assume a 32-bit JDIMENSION.)
53
+ */
54
+
55
+ typedef unsigned int JDIMENSION;
56
+ diff --git a/simd/jccolext-sse2-64.asm b/simd/jccolext-sse2-64.asm
57
+ index 7bd6d01..7ad4343 100644
58
+ --- a/simd/jccolext-sse2-64.asm
59
+ +++ b/simd/jccolext-sse2-64.asm
60
+ @@ -50,14 +50,14 @@ EXTN(jsimd_rgb_ycc_convert_sse2):
61
+ collect_args
62
+ push rbx
63
+
64
+ - mov rcx, r10
65
+ + mov ecx, r10d
66
+ test rcx,rcx
67
+ jz near .return
68
+
69
+ push rcx
70
+
71
+ mov rsi, r12
72
+ - mov rcx, r13
73
+ + mov ecx, r13d
74
+ mov rdi, JSAMPARRAY [rsi+0*SIZEOF_JSAMPARRAY]
75
+ mov rbx, JSAMPARRAY [rsi+1*SIZEOF_JSAMPARRAY]
76
+ mov rdx, JSAMPARRAY [rsi+2*SIZEOF_JSAMPARRAY]
77
+ diff --git a/simd/jcgryext-sse2-64.asm b/simd/jcgryext-sse2-64.asm
78
+ index 5af02e0..82c0fc8 100644
79
+ --- a/simd/jcgryext-sse2-64.asm
80
+ +++ b/simd/jcgryext-sse2-64.asm
81
+ @@ -50,14 +50,14 @@ EXTN(jsimd_rgb_gray_convert_sse2):
82
+ collect_args
83
+ push rbx
84
+
85
+ - mov rcx, r10
86
+ + mov ecx, r10d
87
+ test rcx,rcx
88
+ jz near .return
89
+
90
+ push rcx
91
+
92
+ mov rsi, r12
93
+ - mov rcx, r13
94
+ + mov ecx, r13d
95
+ mov rdi, JSAMPARRAY [rsi+0*SIZEOF_JSAMPARRAY]
96
+ lea rdi, [rdi+rcx*SIZEOF_JSAMPROW]
97
+
98
+ diff --git a/simd/jcsample-sse2-64.asm b/simd/jcsample-sse2-64.asm
99
+ index f32fb4f..7693285 100644
100
+ --- a/simd/jcsample-sse2-64.asm
101
+ +++ b/simd/jcsample-sse2-64.asm
102
+ @@ -49,11 +49,11 @@ EXTN(jsimd_h2v1_downsample_sse2):
103
+ mov rbp,rsp
104
+ collect_args
105
+
106
+ - mov rcx, r13
107
+ + mov ecx, r13d
108
+ shl rcx,3 ; imul rcx,DCTSIZE (rcx = output_cols)
109
+ jz near .return
110
+
111
+ - mov rdx, r10
112
+ + mov edx, r10d
113
+
114
+ ; -- expand_right_edge
115
+
116
+ @@ -90,7 +90,7 @@ EXTN(jsimd_h2v1_downsample_sse2):
117
+
118
+ ; -- h2v1_downsample
119
+
120
+ - mov rax, r12 ; rowctr
121
+ + mov eax, r12d ; rowctr
122
+ test eax,eax
123
+ jle near .return
124
+
125
+ @@ -193,11 +193,11 @@ EXTN(jsimd_h2v2_downsample_sse2):
126
+ mov rbp,rsp
127
+ collect_args
128
+
129
+ - mov rcx, r13
130
+ + mov ecx, r13d
131
+ shl rcx,3 ; imul rcx,DCTSIZE (rcx = output_cols)
132
+ jz near .return
133
+
134
+ - mov rdx, r10
135
+ + mov edx, r10d
136
+
137
+ ; -- expand_right_edge
138
+
139
+ @@ -234,7 +234,7 @@ EXTN(jsimd_h2v2_downsample_sse2):
140
+
141
+ ; -- h2v2_downsample
142
+
143
+ - mov rax, r12 ; rowctr
144
+ + mov eax, r12d ; rowctr
145
+ test rax,rax
146
+ jle near .return
147
+
148
+ diff --git a/simd/jdcolext-sse2-64.asm b/simd/jdcolext-sse2-64.asm
149
+ index bfd1f35..d356e65 100644
150
+ --- a/simd/jdcolext-sse2-64.asm
151
+ +++ b/simd/jdcolext-sse2-64.asm
152
+ @@ -52,14 +52,14 @@ EXTN(jsimd_ycc_rgb_convert_sse2):
153
+ collect_args
154
+ push rbx
155
+
156
+ - mov rcx, r10 ; num_cols
157
+ + mov ecx, r10d ; num_cols
158
+ test rcx,rcx
159
+ jz near .return
160
+
161
+ push rcx
162
+
163
+ mov rdi, r11
164
+ - mov rcx, r12
165
+ + mov ecx, r12d
166
+ mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY]
167
+ mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY]
168
+ mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY]
169
+ diff --git a/simd/jdmrgext-sse2-64.asm b/simd/jdmrgext-sse2-64.asm
170
+ index ff127b5..989d7f1 100644
171
+ --- a/simd/jdmrgext-sse2-64.asm
172
+ +++ b/simd/jdmrgext-sse2-64.asm
173
+ @@ -52,14 +52,14 @@ EXTN(jsimd_h2v1_merged_upsample_sse2):
174
+ collect_args
175
+ push rbx
176
+
177
+ - mov rcx, r10 ; col
178
+ + mov ecx, r10d ; col
179
+ test rcx,rcx
180
+ jz near .return
181
+
182
+ push rcx
183
+
184
+ mov rdi, r11
185
+ - mov rcx, r12
186
+ + mov ecx, r12d
187
+ mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY]
188
+ mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY]
189
+ mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY]
190
+ @@ -455,10 +455,10 @@ EXTN(jsimd_h2v2_merged_upsample_sse2):
191
+ collect_args
192
+ push rbx
193
+
194
+ - mov rax, r10
195
+ + mov eax, r10d
196
+
197
+ mov rdi, r11
198
+ - mov rcx, r12
199
+ + mov ecx, r12d
200
+ mov rsi, JSAMPARRAY [rdi+0*SIZEOF_JSAMPARRAY]
201
+ mov rbx, JSAMPARRAY [rdi+1*SIZEOF_JSAMPARRAY]
202
+ mov rdx, JSAMPARRAY [rdi+2*SIZEOF_JSAMPARRAY]
203
+ diff --git a/simd/jdsample-sse2-64.asm b/simd/jdsample-sse2-64.asm
204
+ index 335ce2a..2287c00 100644
205
+ --- a/simd/jdsample-sse2-64.asm
206
+ +++ b/simd/jdsample-sse2-64.asm
207
+ @@ -67,7 +67,7 @@ EXTN(jsimd_h2v1_fancy_upsample_sse2):
208
+ mov rbp,rsp
209
+ collect_args
210
+
211
+ - mov rax, r11 ; colctr
212
+ + mov eax, r11d ; colctr
213
+ test rax,rax
214
+ jz near .return
215
+
216
+ @@ -214,7 +214,7 @@ EXTN(jsimd_h2v2_fancy_upsample_sse2):
217
+ collect_args
218
+ push rbx
219
+
220
+ - mov rax, r11 ; colctr
221
+ + mov eax, r11d ; colctr
222
+ test rax,rax
223
+ jz near .return
224
+
225
+ @@ -506,7 +506,7 @@ EXTN(jsimd_h2v1_upsample_sse2):
226
+ mov rbp,rsp
227
+ collect_args
228
+
229
+ - mov rdx, r11
230
+ + mov edx, r11d
231
+ add rdx, byte (2*SIZEOF_XMMWORD)-1
232
+ and rdx, byte -(2*SIZEOF_XMMWORD)
233
+ jz near .return
234
+ @@ -596,7 +596,7 @@ EXTN(jsimd_h2v2_upsample_sse2):
235
+ collect_args
236
+ push rbx
237
+
238
+ - mov rdx, r11
239
+ + mov edx, r11d
240
+ add rdx, byte (2*SIZEOF_XMMWORD)-1
241
+ and rdx, byte -(2*SIZEOF_XMMWORD)
242
+ jz near .return
243
+ diff --git a/simd/jidctflt-sse2-64.asm b/simd/jidctflt-sse2-64.asm
244
+ index 32e4ec2..95bd4dc 100644
245
+ --- a/simd/jidctflt-sse2-64.asm
246
+ +++ b/simd/jidctflt-sse2-64.asm
247
+ @@ -326,7 +326,7 @@ EXTN(jsimd_idct_float_sse2):
248
+ mov rax, [original_rbp]
249
+ lea rsi, [workspace] ; FAST_FLOAT * wsptr
250
+ mov rdi, r12 ; (JSAMPROW *)
251
+ - mov rax, r13
252
+ + mov eax, r13d
253
+ mov rcx, DCTSIZE/4 ; ctr
254
+ .rowloop:
255
+
256
+ diff --git a/simd/jidctfst-sse2-64.asm b/simd/jidctfst-sse2-64.asm
257
+ index 8566952..d507578 100644
258
+ --- a/simd/jidctfst-sse2-64.asm
259
+ +++ b/simd/jidctfst-sse2-64.asm
260
+ @@ -323,7 +323,7 @@ EXTN(jsimd_idct_ifast_sse2):
261
+
262
+ mov rax, [original_rbp]
263
+ mov rdi, r12 ; (JSAMPROW *)
264
+ - mov rax, r13
265
+ + mov eax, r13d
266
+
267
+ ; -- Even part
268
+
269
+ diff --git a/simd/jidctint-sse2-64.asm b/simd/jidctint-sse2-64.asm
270
+ index 32bbfd8..1cc3086 100644
271
+ --- a/simd/jidctint-sse2-64.asm
272
+ +++ b/simd/jidctint-sse2-64.asm
273
+ @@ -515,7 +515,7 @@ EXTN(jsimd_idct_islow_sse2):
274
+
275
+ mov rax, [original_rbp]
276
+ mov rdi, r12 ; (JSAMPROW *)
277
+ - mov rax, r13
278
+ + mov eax, r13d
279
+
280
+ ; -- Even part
281
+
282
+ diff --git a/simd/jidctred-sse2-64.asm b/simd/jidctred-sse2-64.asm
283
+ index dad43d9..02b155a 100644
284
+ --- a/simd/jidctred-sse2-64.asm
285
+ +++ b/simd/jidctred-sse2-64.asm
286
+ @@ -312,7 +312,7 @@ EXTN(jsimd_idct_4x4_sse2):
287
+
288
+ mov rax, [original_rbp]
289
+ mov rdi, r12 ; (JSAMPROW *)
290
+ - mov rax, r13
291
+ + mov eax, r13d
292
+
293
+ ; -- Even part
294
+
295
+ @@ -521,7 +521,7 @@ EXTN(jsimd_idct_2x2_sse2):
296
+ ; ---- Pass 2: process rows, store into output array.
297
+
298
+ mov rdi, r12 ; (JSAMPROW *)
299
+ - mov rax, r13
300
+ + mov eax, r13d
301
+
302
+ ; | input:| result:|
303
+ ; | A0 B0 | |
304
+ diff --git a/simd/jquantf-sse2-64.asm b/simd/jquantf-sse2-64.asm
305
+ index 20e815f..cf7f0d8 100644
306
+ --- a/simd/jquantf-sse2-64.asm
307
+ +++ b/simd/jquantf-sse2-64.asm
308
+ @@ -50,7 +50,7 @@ EXTN(jsimd_convsamp_float_sse2):
309
+ packsswb xmm7,xmm7 ; xmm7 = PB_CENTERJSAMPLE (0x808080..)
310
+
311
+ mov rsi, r10
312
+ - mov rax, r11
313
+ + mov eax, r11d
314
+ mov rdi, r12
315
+ mov rcx, DCTSIZE/2
316
+ .convloop:
317
+ diff --git a/simd/jquanti-sse2-64.asm b/simd/jquanti-sse2-64.asm
318
+ index 50b8dce..b61f4db 100644
319
+ --- a/simd/jquanti-sse2-64.asm
320
+ +++ b/simd/jquanti-sse2-64.asm
321
+ @@ -50,7 +50,7 @@ EXTN(jsimd_convsamp_sse2):
322
+ psllw xmm7,7 ; xmm7={0xFF80 0xFF80 0xFF80 0xFF80 ..}
323
+
324
+ mov rsi, r10
325
+ - mov rax, r11
326
+ + mov eax, r11d
327
+ mov rdi, r12
328
+ mov rcx, DCTSIZE/4
329
+ .convloop:
330
+ --
331
+ 2.8.3
332
+
@@ -1,7 +1,7 @@
1
1
  From 8868eb72ea64fef8193b71c9372373e4aebdd4fd Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Sun, 22 Nov 2015 18:45:07 +0200
4
- Subject: [PATCH 1/3] Add an install task
4
+ Subject: [PATCH 1/4] Add an install task
5
5
 
6
6
  ---
7
7
  Makefile | 6 ++++++
@@ -1,7 +1,7 @@
1
1
  From f5f4dbab2c81d9a3a6e908f9cc9d8c41c9188a71 Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Sun, 22 Nov 2015 18:46:05 +0200
4
- Subject: [PATCH 2/3] Add a configure script
4
+ Subject: [PATCH 2/4] Add a configure script
5
5
 
6
6
  ---
7
7
  configure | 47 +++++++++++++++++++++++++++++++++++++++++++++++
@@ -0,0 +1,36 @@
1
+ From a419719212782c73e114848064cb07d48bfebb50 Mon Sep 17 00:00:00 2001
2
+ From: Petko Bordjukov <bordjukov@gmail.com>
3
+ Date: Mon, 13 Jun 2016 23:33:27 +0300
4
+ Subject: [PATCH 3/4] Use cc by default instead of gcc
5
+
6
+ ---
7
+ Makefile | 6 +++---
8
+ 1 file changed, 3 insertions(+), 3 deletions(-)
9
+
10
+ diff --git a/Makefile b/Makefile
11
+ index 0391a49..6f53ade 100644
12
+ --- a/Makefile
13
+ +++ b/Makefile
14
+ @@ -16,8 +16,8 @@
15
+
16
+ DESTDIR=.
17
+
18
+ -CC = gcc
19
+ -LD = gcc
20
+ +CC = cc
21
+ +LD = cc
22
+ RM = rm -f
23
+
24
+ CPPFLAGS = -I.
25
+ @@ -35,7 +35,7 @@ TOOFAR_OK=
26
+ #CFLAGS = -O2
27
+ #CFLAGS = -O2 -fomit-frame-pointer -Wall
28
+ #CFLAGS = -Os -fomit-frame-pointer -Wall
29
+ -CFLAGS = -O3 -funroll-loops -fomit-frame-pointer -Wall -Wshadow
30
+ +CFLAGS = -O3 -funroll-loops -fomit-frame-pointer
31
+ # [note that -Wall is a gcc-specific compilation flag ("all warnings on")]
32
+
33
+ LDFLAGS =
34
+ --
35
+ 2.8.3
36
+
@@ -1,18 +1,18 @@
1
- From 5e45c536b23db916fd14f3290209acbff9059029 Mon Sep 17 00:00:00 2001
1
+ From 7f1e5ded3dd2ef10e5740d2185a168b5701bbc47 Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Thu, 9 Jun 2016 02:03:46 +0300
4
- Subject: [PATCH 3/3] Produce a static binary
4
+ Subject: [PATCH 4/4] Produce a static binary
5
5
 
6
6
  ---
7
7
  Makefile | 2 +-
8
8
  1 file changed, 1 insertion(+), 1 deletion(-)
9
9
 
10
10
  diff --git a/Makefile b/Makefile
11
- index 0391a49..c008c3e 100644
11
+ index 6f53ade..ac4f3ab 100644
12
12
  --- a/Makefile
13
13
  +++ b/Makefile
14
14
  @@ -38,7 +38,7 @@ TOOFAR_OK=
15
- CFLAGS = -O3 -funroll-loops -fomit-frame-pointer -Wall -Wshadow
15
+ CFLAGS = -O3 -funroll-loops -fomit-frame-pointer
16
16
  # [note that -Wall is a gcc-specific compilation flag ("all warnings on")]
17
17
 
18
18
  -LDFLAGS =
@@ -1,7 +1,7 @@
1
1
  From 2a2d11aa8ebd7942e4ff5e03bcdf77dc1a10462b Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Thu, 9 Jun 2016 02:51:12 +0300
4
- Subject: [PATCH 1/6] Work around mini portile's configure invocation
4
+ Subject: [PATCH 1/7] Work around mini portile's configure invocation
5
5
 
6
6
  ---
7
7
  configure | 471 +--------------------------------------------------------
@@ -1,7 +1,7 @@
1
1
  From 0a57a934ba38621c666df40abba6f83cb6e32026 Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Thu, 9 Jun 2016 02:54:43 +0300
4
- Subject: [PATCH 2/6] Add default LDFLAGS
4
+ Subject: [PATCH 2/7] Add default LDFLAGS
5
5
 
6
6
  ---
7
7
  configure.bash | 1 +
@@ -1,7 +1,7 @@
1
1
  From dad6e24886adbf10959492caf90fbe85572adf6d Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Thu, 9 Jun 2016 03:05:23 +0300
4
- Subject: [PATCH 3/6] Disable libpng check
4
+ Subject: [PATCH 3/7] Disable libpng check
5
5
 
6
6
  ---
7
7
  configure.bash | 52 ++--------------------------------------------------
@@ -1,7 +1,7 @@
1
1
  From 0ebf0e9a703606e6a495bb42a43c34e90734b0dd Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Thu, 9 Jun 2016 03:07:27 +0300
4
- Subject: [PATCH 4/6] Remove libz check
4
+ Subject: [PATCH 4/7] Remove libz check
5
5
 
6
6
  ---
7
7
  configure.bash | 7 +------
@@ -1,7 +1,7 @@
1
1
  From 28212c119b915202ae3f53f77bd28b68ad481458 Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Thu, 9 Jun 2016 03:11:07 +0300
4
- Subject: [PATCH 5/6] Remove lcms2 check
4
+ Subject: [PATCH 5/7] Remove lcms2 check
5
5
 
6
6
  ---
7
7
  configure.bash | 17 ++---------------
@@ -1,7 +1,7 @@
1
1
  From f9bd64476161112ed1fb8d76e6069b23c0219ab8 Mon Sep 17 00:00:00 2001
2
2
  From: Petko Bordjukov <bordjukov@gmail.com>
3
3
  Date: Thu, 9 Jun 2016 04:45:34 +0300
4
- Subject: [PATCH 6/6] Do not build static binary
4
+ Subject: [PATCH 6/7] Do not build static binary
5
5
 
6
6
  ---
7
7
  configure.bash | 2 +-
@@ -0,0 +1,27 @@
1
+ From 5ff1fc51189b133f243286a66673ec5e008463ea Mon Sep 17 00:00:00 2001
2
+ From: Petko Bordjukov <bordjukov@gmail.com>
3
+ Date: Mon, 13 Jun 2016 23:30:46 +0300
4
+ Subject: [PATCH 7/7] Use cc instead of gcc by default
5
+
6
+ ---
7
+ configure.bash | 4 ++--
8
+ 1 file changed, 2 insertions(+), 2 deletions(-)
9
+
10
+ diff --git a/configure.bash b/configure.bash
11
+ index 25c0e90..dddcc1d 100755
12
+ --- a/configure.bash
13
+ +++ b/configure.bash
14
+ @@ -19,8 +19,8 @@ LDFLAGS="-lpng -lz -llcms2 -lpthread"
15
+ EXTRA_CFLAGS=
16
+ EXTRA_LDFLAGS=
17
+
18
+ -# make gcc default compiler unless CC is already set
19
+ -CC=${CC:-gcc}
20
+ +# make cc default compiler unless CC is already set
21
+ +CC=${CC:-cc}
22
+
23
+ help() {
24
+ printf "%4s %s\n" "" "$1"
25
+ --
26
+ 2.8.3
27
+
@@ -0,0 +1,84 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ # All Vagrant configuration is done below. The "2" in Vagrant.configure
5
+ # configures the configuration version (we support older styles for
6
+ # backwards compatibility). Please don't change it unless you know what
7
+ # you're doing.
8
+ Vagrant.configure(2) do |config|
9
+ # The most common configuration options are documented and commented below.
10
+ # For a complete reference, please see the online documentation at
11
+ # https://docs.vagrantup.com.
12
+
13
+ # Every Vagrant development environment requires a box. You can search for
14
+ # boxes at https://atlas.hashicorp.com/search.
15
+ # https://atlas.hashicorp.com/boxcutter/boxes/debian80-i386
16
+ config.vm.box = "ubuntu/trusty32"
17
+
18
+ # Disable automatic box update checking. If you disable this, then
19
+ # boxes will only be checked for updates when the user runs
20
+ # `vagrant box outdated`. This is not recommended.
21
+ # config.vm.box_check_update = false
22
+
23
+ # Create a forwarded port mapping which allows access to a specific port
24
+ # within the machine from a port on the host machine. In the example below,
25
+ # accessing "localhost:8080" will access port 80 on the guest machine.
26
+ # config.vm.network "forwarded_port", guest: 80, host: 8080
27
+
28
+ # Create a private network, which allows host-only access to the machine
29
+ # using a specific IP.
30
+ # config.vm.network "private_network", ip: "192.168.33.10"
31
+
32
+ # Create a public network, which generally matched to bridged network.
33
+ # Bridged networks make the machine appear as another physical device on
34
+ # your network.
35
+ # config.vm.network "public_network"
36
+
37
+ # Share an additional folder to the guest VM. The first argument is
38
+ # the path on the host to the actual folder. The second argument is
39
+ # the path on the guest to mount the folder. And the optional third
40
+ # argument is a set of non-required options.
41
+ config.vm.synced_folder "../..", "/image_compressor_pack"
42
+
43
+ # Provider-specific configuration so you can fine-tune various
44
+ # backing providers for Vagrant. These expose provider-specific options.
45
+ # Example for VirtualBox:
46
+ #
47
+ # config.vm.provider "virtualbox" do |vb|
48
+ # # Display the VirtualBox GUI when booting the machine
49
+ # vb.gui = true
50
+ #
51
+ # # Customize the amount of memory on the VM:
52
+ # vb.memory = "1024"
53
+ # end
54
+ #
55
+ # View the documentation for the provider you are using for more
56
+ # information on available options.
57
+ config.vm.provider :virtualbox do |vb|
58
+ vb.memory = "2048"
59
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
60
+ vb.customize ["modifyvm", :id, "--audio", "none"]
61
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
62
+ end
63
+
64
+ # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
65
+ # such as FTP and Heroku are also available. See the documentation at
66
+ # https://docs.vagrantup.com/v2/push/atlas.html for more information.
67
+ # config.push.define "atlas" do |push|
68
+ # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
69
+ # end
70
+
71
+ # Enable provisioning with a shell script. Additional provisioners such as
72
+ # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
73
+ # documentation for more information about their specific syntax and use.
74
+ config.vm.provision "shell", inline: <<-SHELL
75
+ sudo apt-get update
76
+ sudo apt-get install -y software-properties-common
77
+ sudo apt-add-repository ppa:brightbox/ruby-ng
78
+ sudo apt-get update
79
+ sudo apt-get dist-upgrade -y
80
+ sudo apt-get install -y build-essential git ruby-switch ruby2.3 ruby2.3-dev
81
+ sudo ruby-switch --set ruby2.3
82
+ sudo gem install bundler
83
+ SHELL
84
+ end
@@ -0,0 +1,86 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ # All Vagrant configuration is done below. The "2" in Vagrant.configure
5
+ # configures the configuration version (we support older styles for
6
+ # backwards compatibility). Please don't change it unless you know what
7
+ # you're doing.
8
+ Vagrant.configure(2) do |config|
9
+ # The most common configuration options are documented and commented below.
10
+ # For a complete reference, please see the online documentation at
11
+ # https://docs.vagrantup.com.
12
+
13
+ # Every Vagrant development environment requires a box. You can search for
14
+ # boxes at https://atlas.hashicorp.com/search.
15
+ config.vm.box = "freebsd/FreeBSD-10.3-RELEASE"
16
+
17
+ # Disable automatic box update checking. If you disable this, then
18
+ # boxes will only be checked for updates when the user runs
19
+ # `vagrant box outdated`. This is not recommended.
20
+ # config.vm.box_check_update = false
21
+
22
+ # Create a forwarded port mapping which allows access to a specific port
23
+ # within the machine from a port on the host machine. In the example below,
24
+ # accessing "localhost:8080" will access port 80 on the guest machine.
25
+ # config.vm.network "forwarded_port", guest: 80, host: 8080
26
+
27
+ # Create a private network, which allows host-only access to the machine
28
+ # using a specific IP.
29
+ # config.vm.network "private_network", ip: "192.168.33.10"
30
+ config.vm.network "private_network", ip: "192.168.33.10"
31
+
32
+ # Create a public network, which generally matched to bridged network.
33
+ # Bridged networks make the machine appear as another physical device on
34
+ # your network.
35
+ # config.vm.network "public_network"
36
+
37
+ # Share an additional folder to the guest VM. The first argument is
38
+ # the path on the host to the actual folder. The second argument is
39
+ # the path on the guest to mount the folder. And the optional third
40
+ # argument is a set of non-required options.
41
+ config.vm.synced_folder ".", "/vagrant", nfs: true
42
+ config.vm.synced_folder "../..", "/image_compressor_pack", nfs: true
43
+
44
+
45
+ # Provider-specific configuration so you can fine-tune various
46
+ # backing providers for Vagrant. These expose provider-specific options.
47
+ # Example for VirtualBox:
48
+ #
49
+ # config.vm.provider "virtualbox" do |vb|
50
+ # # Display the VirtualBox GUI when booting the machine
51
+ # vb.gui = true
52
+ #
53
+ # # Customize the amount of memory on the VM:
54
+ # vb.memory = "1024"
55
+ # end
56
+ #
57
+ # View the documentation for the provider you are using for more
58
+ # information on available options.
59
+ # Various settings as suggested by the FreeBSD community
60
+ config.ssh.shell = "sh"
61
+ config.vm.base_mac = "080030D25D61"
62
+ config.vm.provider :virtualbox do |vb|
63
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
64
+ vb.customize ["modifyvm", :id, "--audio", "none"]
65
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
66
+ vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
67
+ end
68
+
69
+ # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
70
+ # such as FTP and Heroku are also available. See the documentation at
71
+ # https://docs.vagrantup.com/v2/push/atlas.html for more information.
72
+ # config.push.define "atlas" do |push|
73
+ # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
74
+ # end
75
+
76
+ # Enable provisioning with a shell script. Additional provisioners such as
77
+ # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
78
+ # documentation for more information about their specific syntax and use.
79
+ # config.vm.provision "shell", inline: <<-SHELL
80
+ # sudo apt-get update
81
+ # sudo apt-get install -y apache2
82
+ # SHELL
83
+ config.vm.provision "shell", inline: <<-SHELL
84
+ pkg install -y bash gmake ruby rubygem-bundler git coreutils
85
+ SHELL
86
+ end
@@ -0,0 +1,84 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ # All Vagrant configuration is done below. The "2" in Vagrant.configure
5
+ # configures the configuration version (we support older styles for
6
+ # backwards compatibility). Please don't change it unless you know what
7
+ # you're doing.
8
+ Vagrant.configure(2) do |config|
9
+ # The most common configuration options are documented and commented below.
10
+ # For a complete reference, please see the online documentation at
11
+ # https://docs.vagrantup.com.
12
+
13
+ # Every Vagrant development environment requires a box. You can search for
14
+ # boxes at https://atlas.hashicorp.com/search.
15
+ # https://atlas.hashicorp.com/quarkslab/boxes/debian-8.0-amd64
16
+ config.vm.box = "ubuntu/trusty64"
17
+
18
+ # Disable automatic box update checking. If you disable this, then
19
+ # boxes will only be checked for updates when the user runs
20
+ # `vagrant box outdated`. This is not recommended.
21
+ # config.vm.box_check_update = false
22
+
23
+ # Create a forwarded port mapping which allows access to a specific port
24
+ # within the machine from a port on the host machine. In the example below,
25
+ # accessing "localhost:8080" will access port 80 on the guest machine.
26
+ # config.vm.network "forwarded_port", guest: 80, host: 8080
27
+
28
+ # Create a private network, which allows host-only access to the machine
29
+ # using a specific IP.
30
+ # config.vm.network "private_network", ip: "192.168.33.10"
31
+
32
+ # Create a public network, which generally matched to bridged network.
33
+ # Bridged networks make the machine appear as another physical device on
34
+ # your network.
35
+ # config.vm.network "public_network"
36
+
37
+ # Share an additional folder to the guest VM. The first argument is
38
+ # the path on the host to the actual folder. The second argument is
39
+ # the path on the guest to mount the folder. And the optional third
40
+ # argument is a set of non-required options.
41
+ config.vm.synced_folder "../..", "/image_compressor_pack"
42
+
43
+ # Provider-specific configuration so you can fine-tune various
44
+ # backing providers for Vagrant. These expose provider-specific options.
45
+ # Example for VirtualBox:
46
+ #
47
+ # config.vm.provider "virtualbox" do |vb|
48
+ # # Display the VirtualBox GUI when booting the machine
49
+ # vb.gui = true
50
+ #
51
+ # # Customize the amount of memory on the VM:
52
+ # vb.memory = "1024"
53
+ # end
54
+ #
55
+ # View the documentation for the provider you are using for more
56
+ # information on available options.
57
+ config.vm.provider :virtualbox do |vb|
58
+ vb.memory = "2048"
59
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
60
+ vb.customize ["modifyvm", :id, "--audio", "none"]
61
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
62
+ end
63
+
64
+ # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
65
+ # such as FTP and Heroku are also available. See the documentation at
66
+ # https://docs.vagrantup.com/v2/push/atlas.html for more information.
67
+ # config.push.define "atlas" do |push|
68
+ # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
69
+ # end
70
+
71
+ # Enable provisioning with a shell script. Additional provisioners such as
72
+ # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
73
+ # documentation for more information about their specific syntax and use.
74
+ config.vm.provision "shell", inline: <<-SHELL
75
+ sudo apt-get update
76
+ sudo apt-get install -y software-properties-common
77
+ sudo apt-add-repository ppa:brightbox/ruby-ng
78
+ sudo apt-get update
79
+ sudo apt-get dist-upgrade -y
80
+ sudo apt-get install -y build-essential git ruby-switch ruby2.3 ruby2.3-dev
81
+ sudo ruby-switch --set ruby2.3
82
+ sudo gem install bundler
83
+ SHELL
84
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: image_compressor_pack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petko Bordjukov
@@ -133,6 +133,7 @@ files:
133
133
  - bin/console
134
134
  - bin/setup
135
135
  - certs/ignisf.pem
136
+ - certs/ignisf.pem.asc
136
137
  - ext/image_compressor_pack/extconf.rb
137
138
  - image_compressor_pack.gemspec
138
139
  - lib/image_compressor_pack.rb
@@ -160,19 +161,26 @@ files:
160
161
  - ports/patches/jhead/0005-Produce-a-static-binary.patch
161
162
  - ports/patches/jpeg-archive/0001-Add-a-rudimentary-configure-script.patch
162
163
  - ports/patches/jpeg-archive/0002-Use-our-mozjpeg.patch
164
+ - ports/patches/jpeg-archive/0003-Use-cc-instead-of-gcc-by-default.patch
163
165
  - ports/patches/jpegoptim/0001-Link-lm-after-ljpeg.patch
164
166
  - ports/patches/libpng/0001-Do-not-build-binary-utilities.patch
165
167
  - ports/patches/mozjpeg/0001-Build-static-binaries.patch
168
+ - ports/patches/mozjpeg/0002-Fix-x86-64-ABI-conformance-issue-in-SIMD-code-descri.patch
166
169
  - ports/patches/optipng/0001-Allow-passing-LDFLAGS-as-configure-arg.patch
167
170
  - ports/patches/pngcrush/0001-Add-an-install-task.patch
168
171
  - ports/patches/pngcrush/0002-Add-a-configure-script.patch
169
- - ports/patches/pngcrush/0003-Produce-a-static-binary.patch
172
+ - ports/patches/pngcrush/0003-Use-cc-by-default-instead-of-gcc.patch
173
+ - ports/patches/pngcrush/0004-Produce-a-static-binary.patch
170
174
  - ports/patches/pngquant/0001-Work-around-mini-portile-s-configure-invocation.patch
171
175
  - ports/patches/pngquant/0002-Add-default-LDFLAGS.patch
172
176
  - ports/patches/pngquant/0003-Disable-libpng-check.patch
173
177
  - ports/patches/pngquant/0004-Remove-libz-check.patch
174
178
  - ports/patches/pngquant/0005-Remove-lcms2-check.patch
175
179
  - ports/patches/pngquant/0006-Do-not-build-static-binary.patch
180
+ - ports/patches/pngquant/0007-Use-cc-instead-of-gcc-by-default.patch
181
+ - release/x86-linux/Vagrantfile
182
+ - release/x86_64-freebsd10/Vagrantfile
183
+ - release/x86_64-linux/Vagrantfile
176
184
  homepage: https://github.com/ignisf/image_compressor_pack
177
185
  licenses:
178
186
  - MIT
metadata.gz.sig CHANGED
Binary file