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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.travis.yml +6 -3
- data/README.md +11 -0
- data/Rakefile +23 -1
- data/certs/ignisf.pem.asc +51 -0
- data/ext/image_compressor_pack/extconf.rb +9 -0
- data/lib/image_compressor_pack/dynamically_linked_recipes.yml +6 -0
- data/lib/image_compressor_pack/statically_linked_recipes.yml +6 -2
- data/lib/image_compressor_pack/version.rb +1 -1
- data/ports/patches/jpeg-archive/0001-Add-a-rudimentary-configure-script.patch +1 -1
- data/ports/patches/jpeg-archive/0002-Use-our-mozjpeg.patch +1 -1
- data/ports/patches/jpeg-archive/0003-Use-cc-instead-of-gcc-by-default.patch +36 -0
- data/ports/patches/mozjpeg/0001-Build-static-binaries.patch +1 -1
- data/ports/patches/mozjpeg/0002-Fix-x86-64-ABI-conformance-issue-in-SIMD-code-descri.patch +332 -0
- data/ports/patches/pngcrush/0001-Add-an-install-task.patch +1 -1
- data/ports/patches/pngcrush/0002-Add-a-configure-script.patch +1 -1
- data/ports/patches/pngcrush/0003-Use-cc-by-default-instead-of-gcc.patch +36 -0
- data/ports/patches/pngcrush/{0003-Produce-a-static-binary.patch → 0004-Produce-a-static-binary.patch} +4 -4
- data/ports/patches/pngquant/0001-Work-around-mini-portile-s-configure-invocation.patch +1 -1
- data/ports/patches/pngquant/0002-Add-default-LDFLAGS.patch +1 -1
- data/ports/patches/pngquant/0003-Disable-libpng-check.patch +1 -1
- data/ports/patches/pngquant/0004-Remove-libz-check.patch +1 -1
- data/ports/patches/pngquant/0005-Remove-lcms2-check.patch +1 -1
- data/ports/patches/pngquant/0006-Do-not-build-static-binary.patch +1 -1
- data/ports/patches/pngquant/0007-Use-cc-instead-of-gcc-by-default.patch +27 -0
- data/release/x86-linux/Vagrantfile +84 -0
- data/release/x86_64-freebsd10/Vagrantfile +86 -0
- data/release/x86_64-linux/Vagrantfile +84 -0
- data.tar.gz.sig +0 -0
- metadata +10 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41d51c703869f6e07e06d5511cb0b727ee7f6f0b
|
4
|
+
data.tar.gz: e04c08e3d305e66ebd9e972a35860a6311d5b61d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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-
|
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,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/
|
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/
|
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/
|
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/
|
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
|
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
|
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
|
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
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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.
|
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-
|
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
|