mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-10 07:57:59 -05:00
New packages: zopfli, gif2apng, apng2gif, patch libpng with APNG support (#6345)
* add animated png (APNG) support to libpng * new package zopfli * new package gif2apng * new package apng2gif * fix version number and description * fix `whatis` description in manpages * Add pre-built binaries Co-authored-by: Ed Reel <edreel@gmail.com>
This commit is contained in:
committed by
GitHub
parent
e7c5f80a53
commit
3e556acd12
52
packages/apng2gif.rb
Normal file
52
packages/apng2gif.rb
Normal file
@@ -0,0 +1,52 @@
|
||||
require 'package'
|
||||
|
||||
class Apng2gif < Package
|
||||
description 'Convert APNG animations into animated GIF format.'
|
||||
homepage 'https://sourceforge.net/projects/apng2gif/'
|
||||
@_ver = '1.8'
|
||||
version @_ver
|
||||
license 'ZLIB'
|
||||
compatibility 'all'
|
||||
source_url "https://sourceforge.net/projects/apng2gif/files/#{@_ver}/apng2gif-#{@_ver}-src.zip"
|
||||
source_sha256 '9a07e386017dc696573cd7bc7b46b2575c06da0bc68c3c4f1c24a4b39cdedd4d'
|
||||
|
||||
binary_url ({
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/apng2gif/1.8_armv7l/apng2gif-1.8-chromeos-armv7l.tar.xz',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/apng2gif/1.8_armv7l/apng2gif-1.8-chromeos-armv7l.tar.xz',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/apng2gif/1.8_i686/apng2gif-1.8-chromeos-i686.tar.xz',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/apng2gif/1.8_x86_64/apng2gif-1.8-chromeos-x86_64.tar.xz',
|
||||
})
|
||||
binary_sha256 ({
|
||||
aarch64: 'f0d57f404b10ce2dc14a3ce61baa7be9d7bbefc8e0bb77e6b943bf7c07191578',
|
||||
armv7l: 'f0d57f404b10ce2dc14a3ce61baa7be9d7bbefc8e0bb77e6b943bf7c07191578',
|
||||
i686: '851c65719e952dc8b00c74457002f0f905f75b6bbc64e18a23e2b25b55e0d881',
|
||||
x86_64: '921598e9de5c2ac2d22de713bdc4bdeb9d2cd436b4e166f69773c561a2ff53da',
|
||||
})
|
||||
|
||||
depends_on 'libpng'
|
||||
depends_on 'help2man' => :build
|
||||
|
||||
def self.patch
|
||||
system "sed -i 's:CC = gcc:CC = #{CREW_TGT}-gcc:' Makefile"
|
||||
system "sed -i 's:CFLAGS = -Wall -pedantic:CFLAGS = -Wall -pedantic #{CREW_COMMON_FLAGS}:' Makefile"
|
||||
system "sed -i 's:CFLAGS_OPT = -O2:CFLAGS_OPT =:' Makefile"
|
||||
# zlib is unused, remove the header and library link
|
||||
system "sed -i 's:LIBS = -lstdc++ -lm -lpng -lz:LIBS = -lstdc++ -lm -lpng:' Makefile"
|
||||
system "sed -i 's:#include \"zlib.h\"::' Makefile"
|
||||
end
|
||||
|
||||
def self.build
|
||||
system 'make'
|
||||
system "help2man -s 1 -N -h '' \
|
||||
-n '#{self.description.downcase.delete! '.'}' \
|
||||
--version-string='#{@_ver}' \
|
||||
./apng2gif -o apng2gif.1"
|
||||
end
|
||||
|
||||
def self.install
|
||||
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin/"
|
||||
FileUtils.mkdir_p "#{CREW_DEST_MAN_PREFIX}/man1/"
|
||||
FileUtils.install 'apng2gif', "#{CREW_DEST_PREFIX}/bin/apng2gif", mode: 0755
|
||||
FileUtils.install 'apng2gif.1', "#{CREW_DEST_MAN_PREFIX}/man1/apng2gif.1", mode: 0644
|
||||
end
|
||||
end
|
||||
52
packages/gif2apng.rb
Normal file
52
packages/gif2apng.rb
Normal file
@@ -0,0 +1,52 @@
|
||||
require 'package'
|
||||
|
||||
class Gif2apng < Package
|
||||
description 'Convert GIF animations into APNG format.'
|
||||
homepage 'https://sourceforge.net/projects/gif2apng/'
|
||||
@_ver = '1.9'
|
||||
version @_ver
|
||||
license 'ZLIB LGPL-2.1'
|
||||
compatibility 'all'
|
||||
source_url "https://sourceforge.net/projects/gif2apng/files/#{@_ver}/gif2apng-#{@_ver}-src.zip"
|
||||
source_sha256 '3b21308e935d799b3ffb4a86c6e00ffa4cb9b3f72f52d58d51c66eb0574ae7d2'
|
||||
|
||||
binary_url ({
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gif2apng/1.9_armv7l/gif2apng-1.9-chromeos-armv7l.tar.xz',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gif2apng/1.9_armv7l/gif2apng-1.9-chromeos-armv7l.tar.xz',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gif2apng/1.9_i686/gif2apng-1.9-chromeos-i686.tar.xz',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/gif2apng/1.9_x86_64/gif2apng-1.9-chromeos-x86_64.tar.xz',
|
||||
})
|
||||
binary_sha256 ({
|
||||
aarch64: 'c0536e15897691a801c59d4b435c9c6a930bed91ba73a23697c85479284095b7',
|
||||
armv7l: 'c0536e15897691a801c59d4b435c9c6a930bed91ba73a23697c85479284095b7',
|
||||
i686: '488ade6bcc9b8e1d537937b929a6fa04a8825937fbb779512fc93883d0bea978',
|
||||
x86_64: '62ba798c0c56f2df6c00c45b1c7c1e23776175dd7d612333c384ea9c9753a4be',
|
||||
})
|
||||
|
||||
depends_on 'zopfli'
|
||||
depends_on 'help2man' => :build
|
||||
|
||||
def self.patch
|
||||
system "sed -i 's:CC = gcc:CC = #{CREW_TGT}-gcc:' Makefile"
|
||||
system "sed -i 's:CFLAGS = -Wall -pedantic:CFLAGS = -Wall -pedantic #{CREW_COMMON_FLAGS}:' Makefile"
|
||||
system "sed -i 's:CFLAGS_OPT = -O2:CFLAGS_OPT =:' Makefile"
|
||||
# use system zopfli
|
||||
system "sed -i 's:SRC_DIRS = . 7z zopfli:SRC_DIRS = . 7z:' Makefile"
|
||||
system "sed -i 's:LIBS = -lstdc++ -lm -lz:LIBS = -lstdc++ -lm -lz -lzopfli:' Makefile"
|
||||
end
|
||||
|
||||
def self.build
|
||||
system 'make'
|
||||
system "help2man -s 1 -N -h '' \
|
||||
-n '#{self.description.downcase.delete! '.'}' \
|
||||
--version-string='#{@_ver}' \
|
||||
./gif2apng -o gif2apng.1"
|
||||
end
|
||||
|
||||
def self.install
|
||||
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin/"
|
||||
FileUtils.mkdir_p "#{CREW_DEST_MAN_PREFIX}/man1/"
|
||||
FileUtils.install 'gif2apng', "#{CREW_DEST_PREFIX}/bin/gif2apng", mode: 0755
|
||||
FileUtils.install 'gif2apng.1', "#{CREW_DEST_MAN_PREFIX}/man1/gif2apng.1", mode: 0644
|
||||
end
|
||||
end
|
||||
@@ -1,42 +1,41 @@
|
||||
require 'package'
|
||||
|
||||
class Libpng < Package
|
||||
description 'libpng is the official PNG reference library.'
|
||||
description 'libpng is the official PNG reference library. Patched with APNG support.'
|
||||
homepage 'http://libpng.org/pub/png/libpng.html'
|
||||
@_ver = '1.6.37'
|
||||
version "#{@_ver}-1"
|
||||
version "#{@_ver}-3"
|
||||
license 'libpng2'
|
||||
compatibility 'all'
|
||||
source_url "https://downloads.sourceforge.net/project/libpng/libpng16/#{@_ver}/libpng-#{@_ver}.tar.xz"
|
||||
source_sha256 '505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca'
|
||||
|
||||
binary_url({
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libpng/1.6.37-1_armv7l/libpng-1.6.37-1-chromeos-armv7l.tar.xz',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libpng/1.6.37-1_armv7l/libpng-1.6.37-1-chromeos-armv7l.tar.xz',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libpng/1.6.37-1_i686/libpng-1.6.37-1-chromeos-i686.tar.xz',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libpng/1.6.37-1_x86_64/libpng-1.6.37-1-chromeos-x86_64.tar.xz'
|
||||
binary_url ({
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libpng/1.6.37-3_armv7l/libpng-1.6.37-3-chromeos-armv7l.tar.xz',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libpng/1.6.37-3_armv7l/libpng-1.6.37-3-chromeos-armv7l.tar.xz',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libpng/1.6.37-3_i686/libpng-1.6.37-3-chromeos-i686.tar.xz',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/libpng/1.6.37-1_x86_64/libpng-1.6.37-1-chromeos-x86_64.tar.xz',
|
||||
})
|
||||
binary_sha256({
|
||||
aarch64: 'addb9158594a38f2d4ecd90c5de111d43586d3cdd9ab1edc25536cfb3dc3b760',
|
||||
armv7l: 'addb9158594a38f2d4ecd90c5de111d43586d3cdd9ab1edc25536cfb3dc3b760',
|
||||
i686: '865eea143c0e553d9aea22f20fb02cdb89d2fb823cbf94b1e79b1f3a1124442f',
|
||||
x86_64: '703cb00f75ecdab4918029aa57ee9ed53f027d0a4be6cd6c29b9e4fbd25f7dfe'
|
||||
binary_sha256 ({
|
||||
aarch64: '267f2ef6f7261612350b576acadbfa258471122365a68c1f81bf5785b65631d0',
|
||||
armv7l: '267f2ef6f7261612350b576acadbfa258471122365a68c1f81bf5785b65631d0',
|
||||
i686: '39cb6b94600b6fa4619941ddacc42972d176aa9ac8e2372bdaf469644c2caf35',
|
||||
x86_64: 'bd8a6e366fbb60cdb86dcd88660ecb44bbee44c8087802a789b720b59ab43db2',
|
||||
})
|
||||
|
||||
depends_on 'shared_mime_info'
|
||||
|
||||
def self.patch
|
||||
system 'filefix'
|
||||
# patch in APNG (animated PNG) support
|
||||
system "curl -#LO https://sourceforge.net/projects/apng/files/libpng/libpng16/libpng-#{@_ver}-apng.patch.gz"
|
||||
abort 'Checksum mismatch. :/ Try again.'.lightred unless Digest::SHA256.hexdigest( File.read("libpng-#{@_ver}-apng.patch.gz") ) == '10d9e0cb60e2b387a79b355eb7527c0bee2ed8cbd12cf04417cabc4d6976683c'
|
||||
system "gunzip libpng-#{@_ver}-apng.patch.gz"
|
||||
system "patch -Np0 -i libpng-#{@_ver}-apng.patch"
|
||||
end
|
||||
|
||||
def self.build
|
||||
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
|
||||
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
|
||||
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
|
||||
./configure \
|
||||
#{CREW_OPTIONS} \
|
||||
--disable-dependency-tracking \
|
||||
--disable-maintainer-mode"
|
||||
system "#{CREW_ENV_OPTIONS} ./configure #{CREW_OPTIONS}"
|
||||
system 'make'
|
||||
end
|
||||
|
||||
|
||||
38
packages/zopfli.rb
Normal file
38
packages/zopfli.rb
Normal file
@@ -0,0 +1,38 @@
|
||||
require 'package'
|
||||
|
||||
class Zopfli < Package
|
||||
description 'A very good, but slow, deflate or zlib compression.'
|
||||
homepage 'https://github.com/google/zopfli/'
|
||||
@_ver = '1.0.3'
|
||||
version @_ver
|
||||
license 'Apache-2.0'
|
||||
compatibility 'all'
|
||||
source_url 'https://github.com/google/zopfli.git'
|
||||
git_hashtag 'zopfli-' + @_ver
|
||||
|
||||
binary_url ({
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/zopfli/1.0.3_armv7l/zopfli-1.0.3-chromeos-armv7l.tar.xz',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/zopfli/1.0.3_armv7l/zopfli-1.0.3-chromeos-armv7l.tar.xz',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/zopfli/1.0.3_i686/zopfli-1.0.3-chromeos-i686.tar.xz',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/zopfli/1.0.3_x86_64/zopfli-1.0.3-chromeos-x86_64.tar.xz',
|
||||
})
|
||||
binary_sha256 ({
|
||||
aarch64: '0df215ad8248545623199d63fabc4ca34962fce0c7aa713b3294cef8da824de4',
|
||||
armv7l: '0df215ad8248545623199d63fabc4ca34962fce0c7aa713b3294cef8da824de4',
|
||||
i686: 'd8247dde07c470fa307c5fbb31a8b3d08f4a1d75d42dacd4f1f12540134c6873',
|
||||
x86_64: 'de21437eb8fefa57c8f62928fe1d25e940bc3a9d9d1f57438a4e6628294d6a8a',
|
||||
})
|
||||
|
||||
def self.build
|
||||
Dir.mkdir 'builddir'
|
||||
Dir.chdir 'builddir' do
|
||||
system "#{CREW_ENV_OPTIONS} cmake -G Ninja #{CREW_CMAKE_OPTIONS} \
|
||||
-DZOPFLI_BUILD_SHARED=ON .."
|
||||
system 'samu'
|
||||
end
|
||||
end
|
||||
|
||||
def self.install
|
||||
system "DESTDIR=#{CREW_DEST_DIR} samu -C builddir install"
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user