gscan2pdf: patch from upstream with utf8 filenames

see: https://sourceforge.net/p/gscan2pdf/bugs/400

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
This commit is contained in:
2023-11-23 12:05:12 +01:00
parent 1e2704927a
commit d54a7a6019
2 changed files with 34 additions and 0 deletions
@@ -24,6 +24,8 @@ perlPackages.buildPerlPackage rec {
url = "https://sourceforge.net/p/gscan2pdf/bugs/_discuss/thread/602a7cedfd/1ea4/attachment/0001-Remove-given-and-when-keywords-and-operator.patch";
hash = "sha256-JtrHUkfEKnDhWfEVdIdYVlr5b/xChTzsrrPmruLaJ5M=";
})
# fixes an error with utf8 file names. See https://sourceforge.net/p/gscan2pdf/bugs/400
./image-utf8-fix.patch
];
nativeBuildInputs = [ wrapGAppsHook ];
@@ -0,0 +1,32 @@
diff --git a/bin/gscan2pdf b/bin/gscan2pdf
index e075b0f2..ff124522 100755
--- a/bin/gscan2pdf
+++ b/bin/gscan2pdf
@@ -3434,9 +3434,11 @@ sub save_image {
if ( @{$list_of_pages} > 1 ) {
my $w = length scalar @{$list_of_pages};
for ( 1 .. @{$list_of_pages} ) {
+ _utf8_on($filename);
my $current_filename =
sprintf "${filename}_%0${w}d.$SETTING{'image type'}",
$_;
+ _utf8_off($filename);
if ( -f $current_filename ) {
my $text = sprintf __('This operation would overwrite %s'),
$current_filename;
@@ -3450,11 +3452,15 @@ sub save_image {
return;
}
}
+ _utf8_on($filename);
$filename = "${filename}_%0${w}d.$SETTING{'image type'}";
+ _utf8_off($filename);
}
else {
if ( $filename !~ /[.]$SETTING{'image type'}$/ixsm ) {
+ _utf8_on($filename);
$filename = "$filename.$SETTING{'image type'}";
+ _utf8_off($filename);
return if ( file_exists( $file_chooser, $filename ) );
}
return if ( file_writable( $file_chooser, $filename ) );