diff options
author | Max Zhao | 2017-04-06 08:28:16 +0200 |
---|---|---|
committer | Max Zhao | 2017-04-06 08:28:16 +0200 |
commit | 97132de10208f81d233755435114c193fd57faa5 (patch) | |
tree | e3d0ea2a7be9f7ab00c565acfd00d923052b6365 | |
parent | 4f13fe99cfa4976f8dd419617ea4bd23c79bb480 (diff) | |
download | aur-97132de10208f81d233755435114c193fd57faa5.tar.gz |
Incorporating many fixes from konstantin gizdov
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | PKGBUILD | 92 | ||||
-rw-r--r-- | build_with_latest_ffmpeg.patch | 34 | ||||
-rw-r--r-- | ffmpeg.patch | 50 | ||||
-rw-r--r-- | gflags_namespace.patch | 16 | ||||
-rw-r--r-- | video_flicker.patch | 73 |
6 files changed, 188 insertions, 105 deletions
@@ -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 @@ -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"; + } + } + |