[arch-commits] Commit in enca/repos/extra-x86_64 (3 files)

Antonio Rojas arojas at archlinux.org
Sun Apr 1 10:03:47 UTC 2018


    Date: Sunday, April 1, 2018 @ 10:03:46
  Author: arojas
Revision: 320822

archrelease: copy trunk to extra-x86_64

Added:
  enca/repos/extra-x86_64/PKGBUILD
    (from rev 320821, enca/trunk/PKGBUILD)
  enca/repos/extra-x86_64/enca-bad-file-descriptor.patch
    (from rev 320821, enca/trunk/enca-bad-file-descriptor.patch)
Deleted:
  enca/repos/extra-x86_64/PKGBUILD

--------------------------------+
 PKGBUILD                       |   70 +++++++++++++++++++++------------------
 enca-bad-file-descriptor.patch |   35 +++++++++++++++++++
 2 files changed, 73 insertions(+), 32 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-04-01 10:03:23 UTC (rev 320821)
+++ PKGBUILD	2018-04-01 10:03:46 UTC (rev 320822)
@@ -1,32 +0,0 @@
-# $Id$
-# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
-# Contributor: Filip Dvorak <fila at pruda.com>
-
-pkgname=enca
-pkgver=1.19
-pkgrel=1
-pkgdesc="Charset analyser and converter"
-arch=('i686' 'x86_64')
-url="http://cihar.com/software/enca/"
-license=('GPL')
-depends=('recode')
-options=('!docs')
-source=("https://dl.cihar.com/${pkgname}/${pkgname}-${pkgver}.tar.xz")
-sha256sums=('3a487eca40b41021e2e4b7a6440b97d822e6532db5464471f572ecf77295e8b8')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-
-  ./configure --prefix=/usr \
-              --libexecdir=/usr/lib \
-              --mandir=/usr/share/man \
-              --with-librecode=/usr \
-              --enable-external
-  make
-}
-
-package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-
-  make DESTDIR="${pkgdir}" install
-}

Copied: enca/repos/extra-x86_64/PKGBUILD (from rev 320821, enca/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-04-01 10:03:46 UTC (rev 320822)
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
+# Contributor: Filip Dvorak <fila at pruda.com>
+
+pkgname=enca
+pkgver=1.19
+pkgrel=2
+pkgdesc="Charset analyser and converter"
+arch=('x86_64')
+url="http://cihar.com/software/enca/"
+license=('GPL')
+depends=('recode')
+options=('!docs')
+source=("https://dl.cihar.com/${pkgname}/${pkgname}-${pkgver}.tar.xz" enca-bad-file-descriptor.patch)
+sha256sums=('3a487eca40b41021e2e4b7a6440b97d822e6532db5464471f572ecf77295e8b8'
+            '270c7c0abaea5f3d10173b58849200d4106675d3127a0b9b8ce1fc3dcf775acb')
+
+prepare() {
+  cd $pkgname-$pkgver
+  patch -p1 -i ../enca-bad-file-descriptor.patch # https://github.com/nijel/enca/issues/28
+}
+
+build() {
+  cd ${pkgname}-${pkgver}
+
+  ./configure --prefix=/usr \
+              --libexecdir=/usr/lib \
+              --mandir=/usr/share/man \
+              --with-librecode=/usr \
+              --enable-external
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+
+  make DESTDIR="${pkgdir}" install
+}

Copied: enca/repos/extra-x86_64/enca-bad-file-descriptor.patch (from rev 320821, enca/trunk/enca-bad-file-descriptor.patch)
===================================================================
--- enca-bad-file-descriptor.patch	                        (rev 0)
+++ enca-bad-file-descriptor.patch	2018-04-01 10:03:46 UTC (rev 320822)
@@ -0,0 +1,35 @@
+--- a/src/convert_recode.c
++++ b/src/convert_recode.c
+@@ -101,7 +101,8 @@ convert_recode(File *file,
+       return ERR_IOFAIL;
+     file->buffer->pos = 0;
+ 
+-    if ((tempfile = file_temporary(file->buffer, 1)) == NULL
++    /* We do not unlink tempfile, because we want to reopen it later */
++    if ((tempfile = file_temporary(file->buffer, 0)) == NULL
+         || file_seek(file, 0, SEEK_SET) != 0) {
+       file_free(tempfile);
+       return ERR_IOFAIL;
+@@ -112,9 +113,20 @@ convert_recode(File *file,
+     task->fail_level = enca_recode_fail_level;
+     task->abort_level = RECODE_SYSTEM_ERROR;
+     task->input.name = NULL;
+-    task->input.file = file->stream;
+     task->output.name = NULL;
+-    task->output.file = tempfile->stream;
++    /* recode_perform_task closes given streams, so we need to duplicate them */
++    task->input.file = fopen(file->name, "rb");
++    if (task->input.file == NULL) {
++        fprintf(stderr, "failed to reopen `%s'\n", file->name);
++        file_free(tempfile);
++        return ERR_IOFAIL;
++    }
++    task->output.file = fopen(tempfile->name, "wb");
++    if (task->input.file == NULL) {
++        fprintf(stderr, "failed to reopen `%s'\n", tempfile->name);
++        file_free(tempfile);
++        return ERR_IOFAIL;
++    }
+ 
+     /* Now run conversion original -> temporary file. */
+     success = recode_perform_task(task);



More information about the arch-commits mailing list