summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Zhao2017-04-06 08:28:16 +0200
committerMax Zhao2017-04-06 08:28:16 +0200
commit97132de10208f81d233755435114c193fd57faa5 (patch)
treee3d0ea2a7be9f7ab00c565acfd00d923052b6365
parent4f13fe99cfa4976f8dd419617ea4bd23c79bb480 (diff)
downloadaur-97132de10208f81d233755435114c193fd57faa5.tar.gz
Incorporating many fixes from konstantin gizdov
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD92
-rw-r--r--build_with_latest_ffmpeg.patch34
-rw-r--r--ffmpeg.patch50
-rw-r--r--gflags_namespace.patch16
-rw-r--r--video_flicker.patch73
6 files changed, 188 insertions, 105 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 40d980f6d214..40a0ba65d0fd 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,26 +1,30 @@
# Generated by mksrcinfo v8
-# Wed Oct 19 18:42:13 UTC 2016
+# Thu Apr 6 06:26:37 UTC 2017
pkgbase = hiptext
- pkgdesc = hiptext is command line tool for rendering images and videos inside terminals.
- pkgver = 0.1
- pkgrel = 2
+ pkgdesc = Command line tool for rendering images and videos inside terminals.
+ pkgver = 0.2
+ pkgrel = 1
url = https://github.com/jart/hiptext
arch = any
license = GPL
- makedepends = libpng12
- makedepends = libjpeg-turbo
+ makedepends = ffmpeg
makedepends = freetype2
makedepends = giflib
+ makedepends = libjpeg-turbo
+ makedepends = libpng12
makedepends = ragel
- makedepends = ffmpeg
depends = gflags
depends = google-glog
- source = https://github.com/jart/hiptext/archive/0.1.tar.gz
- source = ffmpeg.patch
+ source = https://github.com/jart/hiptext/releases/download/0.2/hiptext-0.2.tar.gz
source = hiptext.sh
- md5sums = a028fb0b95a8745e81258614c92064e1
- md5sums = 0a6b5cb5275f71f29027f1f5cc1c4b50
- md5sums = 29c7c80e4c783406948a51034d15076c
+ source = build_with_latest_ffmpeg.patch
+ source = gflags_namespace.patch
+ source = video_flicker.patch
+ sha256sums = 7f2217dec8775b445be6745f7bd439c24ce99c4316a9faf657bee7b42bc72e8f
+ sha256sums = 1c36f396746989c12405ba052691fdfab46116d0c6f1ef262e4721db044e2fa1
+ sha256sums = 59482f694811569d08596c07c2461ad9adb6c74c500b6a8755889a78eb27f4b1
+ sha256sums = ba251b4847be9f45192b60605d6211254f46c310909f706ce91eb9ff9d4f4e15
+ sha256sums = c9ddd3e4266a4f6fd0b92bf1c23d7bb5bf6ec150dfa67c76b5f17df6a92a3d49
pkgname = hiptext
diff --git a/PKGBUILD b/PKGBUILD
index 5bd4ef39a389..ec0e8ca858a6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,56 +1,62 @@
-# Maintainer: Max Zhao <alcasa.mz@gmail.com>
+# Maintainer: Max Zhao < alcasa dot mz at gmail dot com >
+# Contributor: Konstantin Gizdov < arch at kge dot pw >
+
pkgname=hiptext
-pkgver=0.1
-pkgrel=2
-pkgdesc="hiptext is command line tool for rendering images and videos inside terminals."
+pkgver=0.2
+pkgrel=1
+pkgdesc="Command line tool for rendering images and videos inside terminals."
arch=('any')
url="https://github.com/jart/hiptext"
license=('GPL')
-groups=()
-depends=(
-"gflags"
-"google-glog"
-)
-makedepends=(
-"libpng12"
-"libjpeg-turbo"
-"freetype2"
-"giflib"
-"ragel"
-"ffmpeg"
-)
-checkdepends=()
-optdepends=()
-provides=()
-conflicts=()
-replaces=()
-backup=()
-options=()
-install=
-changelog=
-source=("https://github.com/jart/hiptext/archive/0.1.tar.gz"
- "ffmpeg.patch"
- "hiptext.sh")
-noextract=()
-md5sums=('a028fb0b95a8745e81258614c92064e1'
- '0a6b5cb5275f71f29027f1f5cc1c4b50'
- '29c7c80e4c783406948a51034d15076c')
+depends=('gflags'
+ 'google-glog')
+makedepends=('ffmpeg'
+ 'freetype2'
+ 'giflib'
+ 'libjpeg-turbo'
+ 'libpng12'
+ 'ragel')
+source=("https://github.com/jart/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.gz"
+ 'hiptext.sh'
+ 'build_with_latest_ffmpeg.patch'
+ 'gflags_namespace.patch'
+ 'video_flicker.patch')
+sha256sums=('7f2217dec8775b445be6745f7bd439c24ce99c4316a9faf657bee7b42bc72e8f'
+ '1c36f396746989c12405ba052691fdfab46116d0c6f1ef262e4721db044e2fa1'
+ '59482f694811569d08596c07c2461ad9adb6c74c500b6a8755889a78eb27f4b1'
+ 'ba251b4847be9f45192b60605d6211254f46c310909f706ce91eb9ff9d4f4e15'
+ 'c9ddd3e4266a4f6fd0b92bf1c23d7bb5bf6ec150dfa67c76b5f17df6a92a3d49')
prepare() {
- cd "$pkgname-$pkgver"
- patch -p1 -i "../ffmpeg.patch"
+ cd "$pkgname-$pkgver"
+ msg2 'Applying patches...'
+ patch -p1 -i "$srcdir/build_with_latest_ffmpeg.patch"
+ patch -p1 -i "$srcdir/video_flicker.patch"
+ # patch -p1 -i "$srcdir/gflags_namespace.patch" # optional
+ msg2 'Configuring...'
+ ./configure --prefix=/usr \
+ --includedir=/usr/include \
+ --libdir=/usr/lib \
+ --datarootdir=/usr/share \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sharedstatedir=/com \
+ LIBGFLAGS_LIBS="-lgflags" \
+ LIBGFLAGS_CFLAGS="-lgflags"
}
build() {
- cd "$pkgname-$pkgver"
- make
+ cd "$pkgname-$pkgver"
+ msg2 'Building...'
+ make
}
package() {
- cd "$pkgname-$pkgver"
- mkdir -p "$pkgdir/usr/share/$pkgname/bin"
- mkdir -p "$pkgdir/usr/bin"
- make PREFIX="$pkgdir/usr/share/$pkgname" install
- cp "$srcdir/hiptext.sh" "$pkgdir/usr/bin/hiptext"
- cp "$srcdir/$pkgname-$pkgver/DejaVuSansMono.ttf" "$pkgdir/usr/share/$pkgname/dejavu.ttf"
+ cd "$pkgname-$pkgver"
+ msg2 'Installing...'
+ make DESTDIR="$pkgdir/usr/share/$pkgname" install
+ install -d "$pkgdir/usr/share/$pkgname/fonts"
+ install -Dm644 "$srcdir/$pkgname-$pkgver/DejaVuSansMono.ttf" \
+ "$pkgdir/usr/share/hiptext/fonts/DejaVuSansMono.ttf"
+ install -Dm755 "$srcdir/hiptext.sh" "$pkgdir/usr/bin/hiptext"
}
diff --git a/build_with_latest_ffmpeg.patch b/build_with_latest_ffmpeg.patch
new file mode 100644
index 000000000000..05647a59d491
--- /dev/null
+++ b/build_with_latest_ffmpeg.patch
@@ -0,0 +1,34 @@
+diff -ura old/src/hiptext.cc new/src/hiptext.cc
+--- old/src/hiptext.cc 2016-06-23 12:08:20.000000000 +0200
++++ new/src/hiptext.cc 2017-04-06 01:52:58.663255035 +0200
+@@ -250,12 +250,13 @@
+ }
+ string path = argv[1];
+ string extension = GetExtension(path);
++ string uri_sig = "://"; // Given this string signature, assume that it's a video stream
+ if (extension == "png") {
+ artiste.PrintImage(LoadPNG(path));
+ } else if (extension == "jpg" || extension == "jpeg") {
+ artiste.PrintImage(LoadJPEG(path));
+ } else if (extension == "mov" || extension == "mp4" || extension == "flv" ||
+- extension == "avi" || extension == "mkv") {
++ extension == "avi" || extension == "mkv" || path.find(uri_sig) != string::npos) {
+ artiste.PrintMovie(Movie(path));
+ } else {
+ fprintf(stderr, "Unknown Filetype: %s\n", extension.data());
+diff -ura old/src/movie.cc new/src/movie.cc
+--- old/src/movie.cc 2016-06-23 12:08:20.000000000 +0200
++++ new/src/movie.cc 2017-04-06 01:51:13.826569913 +0200
+@@ -15,6 +15,12 @@
+ #include "hiptext/graphic.h"
+ #include "hiptext/pixel.h"
+
++#if (LIBAVFORMAT_VERSION_INT) > AV_VERSION_INT(55, 16, 0)
++#define PIX_FMT_RGB24 AV_PIX_FMT_RGB24
++#define avcodec_alloc_frame() av_frame_alloc()
++#define av_free_packet(packet) av_packet_unref(packet)
++#endif
++
+ Movie::Movie(const std::string& path) {
+ format_ = avformat_alloc_context();
+
diff --git a/ffmpeg.patch b/ffmpeg.patch
deleted file mode 100644
index 65b813a27415..000000000000
--- a/ffmpeg.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/hiptext.cc b/hiptext.cc
-index a23fa02..f21c483 100644
---- a/hiptext.cc
-+++ b/hiptext.cc
-@@ -250,12 +250,13 @@ int main(int argc, char** argv) {
- }
- string path = argv[1];
- string extension = GetExtension(path);
-+ string uri_sig = "://"; // Given this string signature, assume that it's a video stream
- if (extension == "png") {
- artiste.PrintImage(LoadPNG(path));
- } else if (extension == "jpg" || extension == "jpeg") {
- artiste.PrintImage(LoadJPEG(path));
- } else if (extension == "mov" || extension == "mp4" || extension == "flv" ||
-- extension == "avi" || extension == "mkv") {
-+ extension == "avi" || extension == "mkv" || path.find(uri_sig) != string::npos) {
- artiste.PrintMovie(Movie(path));
- } else {
- fprintf(stderr, "Unknown Filetype: %s\n", extension.data());
-diff --git a/movie.cc b/movie.cc
-index 9ad9368..4fb6b73 100644
---- a/movie.cc
-+++ b/movie.cc
-@@ -53,7 +53,7 @@ void Movie::PrepareRGB(int width, int height) {
-
- // Prepare context for scaling and converting to RGB.
- sws_ = sws_getContext(context_->width, context_->height, context_->pix_fmt,
-- width_, height_, PIX_FMT_RGB24, SWS_FAST_BILINEAR,
-+ width_, height_, AV_PIX_FMT_RGB24, SWS_FAST_BILINEAR,
- nullptr, nullptr, nullptr);
- CHECK(codec_ = avcodec_find_decoder(context_->codec_id))
- << "Unsupported codec.\n";
-@@ -61,13 +61,13 @@ void Movie::PrepareRGB(int width, int height) {
- << "Could not open codec.\n";
-
- // Allocate Raw + RGB frame buffers.
-- CHECK(frame_ = avcodec_alloc_frame());
-- CHECK(frame_rgb_ = avcodec_alloc_frame());
-- int rgb_bytes = avpicture_get_size(PIX_FMT_RGB24, width_, height_);
-+ CHECK(frame_ = av_frame_alloc());
-+ CHECK(frame_rgb_ = av_frame_alloc());
-+ int rgb_bytes = avpicture_get_size(AV_PIX_FMT_RGB24, width_, height_);
- buffer_ = static_cast<uint8_t*>(av_malloc(rgb_bytes));
- LOG(INFO) << "RGB Buffer: " << rgb_bytes << " bytes.";
- int prep = avpicture_fill(reinterpret_cast<AVPicture*>(frame_rgb_),
-- buffer_, PIX_FMT_RGB24, width_, height_);
-+ buffer_, AV_PIX_FMT_RGB24, width_, height_);
- CHECK_GE(prep, 0) << "Failed to prepare RGB buffer.";
- LOG(INFO) << "RGB dimensions: " << width_ << "x" << height_;
- }
diff --git a/gflags_namespace.patch b/gflags_namespace.patch
new file mode 100644
index 000000000000..b671f2812e4f
--- /dev/null
+++ b/gflags_namespace.patch
@@ -0,0 +1,16 @@
+diff -ura old/src/hiptext.cc new/src/hiptext.cc
+--- old/src/hiptext.cc 2017-04-06 03:03:11.155197795 +0200
++++ new/src/hiptext.cc 2017-04-06 03:04:11.943077663 +0200
+@@ -197,9 +197,9 @@
+ int main(int argc, char** argv) {
+ // if (!isatty(1))
+ // FLAGS_color = false;
+- google::SetUsageMessage("hiptext [FLAGS]");
+- google::SetVersionString("0.1");
+- google::ParseCommandLineFlags(&argc, &argv, true);
++ gflags::SetUsageMessage("hiptext [FLAGS]");
++ gflags::SetVersionString("0.1");
++ gflags::ParseCommandLineFlags(&argc, &argv, true);
+ google::InitGoogleLogging(argv[0]);
+ google::InstallFailureSignalHandler();
+ const char* lang = std::getenv("LANG");
diff --git a/video_flicker.patch b/video_flicker.patch
new file mode 100644
index 000000000000..a6134f1cf403
--- /dev/null
+++ b/video_flicker.patch
@@ -0,0 +1,73 @@
+diff -ura old/src/hiptext.cc new/src/hiptext.cc
+--- old/src/hiptext.cc 2017-04-06 03:35:10.806810093 +0200
++++ new/src/hiptext.cc 2017-04-06 03:47:00.656136140 +0200
+@@ -70,7 +70,8 @@
+ int code = to_index(graphic.Get(x, y).Copy().Opacify(bg));
+ out.PrintPixel(code);
+ }
+- out.LineFeed();
++ if (y < height - 1)
++ out.LineFeed();
+ }
+ out.End();
+ }
+@@ -89,7 +90,8 @@
+ int code = to_index(graphic.Get(x, y).Copy().Opacify(bg));
+ out.PrintPixel(code);
+ }
+- out.LineFeed();
++ if (y < height - 1)
++ out.LineFeed();
+ }
+ out.End();
+ }
+@@ -107,7 +109,8 @@
+ int code = to_index(graphic.Get(x, y).Copy().Opacify(bg));
+ out.PrintPixel(code);
+ }
+- out.LineFeed();
++ if (y < height - 1)
++ out.LineFeed();
+ }
+ out.End();
+ }
+@@ -127,7 +130,8 @@
+ out << FLAGS_space;
+ }
+ out.Reset();
+- out << "\n";
++ if (y < graphic.height() - 1)
++ out << "\n";
+ }
+ }
+
+@@ -145,7 +149,8 @@
+ out << kUpperHalfBlock;
+ }
+ out.Reset();
+- out << "\n";
++ if (y < height - 2)
++ out << "\n";
+ }
+ }
+
+@@ -162,7 +167,8 @@
+ out << color.symbol();
+ }
+ out.Reset();
+- out << "\n";
++ if (y < height - 2)
++ out << "\n";
+ }
+ }
+
+@@ -179,7 +185,8 @@
+ os << quantizer.Quantize(static_cast<int>(pixel.grey() * 255));
+ }
+ }
+- cout << "\n";
++ if (y < graphic.height() - 1)
++ cout << "\n";
+ }
+ }
+