aboutsummaryrefslogtreecommitdiff
From c126eea11c4ee39cbe9c0c76f920626b618b6ee9 Mon Sep 17 00:00:00 2001
From: Ralph Little <littlesincanada@yahoo.co.uk>
Date: Sun, 1 Sep 2019 17:03:44 -0700
Subject: [PATCH] Apply debian upstream patch 0135-fix_pdf_floats

Original patch commentary:

Description: Fix floats in PDF and PostScript
 Set LC_NUMERIC to POSIX before printing floats when building
 PostScript or PDF output.
Author: Julien BLACHE <jblache@debian.org>
Forwarded: yes

------------
Looks like float printing format is affected by the current locale.
Ensures that we always get POSIX formatting of floats.
---
 src/xsane-save.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/xsane-save.c b/src/xsane-save.c
index f14df05..63550cc 100644
--- a/src/xsane-save.c
+++ b/src/xsane-save.c
@@ -26,6 +26,8 @@
 #include "xsane-back-gtk.h"
 #include "xsane-front-gtk.h"
 #include "xsane-save.h"
+#include <locale.h>
+#include <string.h>
 #include <time.h>
 #include <sys/wait.h> 
 
@@ -2425,6 +2427,7 @@ static void xsane_save_ps_create_image_header(FILE *outfile,
                                               int flatedecode)
 {
  int depth; 
+ char *save_locale;
 
   depth = image_info->depth;
 
@@ -2442,8 +2445,15 @@ static void xsane_save_ps_create_image_header(FILE *outfile,
 
   fprintf(outfile, "%d rotate\n", degree);
   fprintf(outfile, "%d %d translate\n", position_left, position_bottom);
+
+  save_locale = strdup(setlocale(LC_NUMERIC, NULL));
+  setlocale(LC_NUMERIC, "POSIX");
+
   fprintf(outfile, "%f %f scale\n", width, height);
 
+  setlocale(LC_NUMERIC, save_locale);
+  free(save_locale);
+
   fprintf(outfile, "<<\n");
   fprintf(outfile, " /ImageType 1\n");
   fprintf(outfile, " /Width %d\n", image_info->image_width);
@@ -3921,6 +3931,7 @@ static void xsane_save_pdf_create_page_header(FILE *outfile, struct pdf_xref *xr
  int position_left, position_bottom, box_left, box_bottom, box_right, box_top, depth;
  int left, bottom;
  float rad;
+ char *save_locale;
 
   DBG(DBG_proc, "xsane_save_pdf_create_page_header\n");
 
@@ -4035,8 +4046,16 @@ static void xsane_save_pdf_create_page_header(FILE *outfile, struct pdf_xref *xr
 
   fprintf(outfile, "q\n");
   fprintf(outfile, "1 0 0 1 %d %d cm\n", position_left, position_bottom); /* translate */
+
+  save_locale = strdup(setlocale(LC_NUMERIC, NULL));
+  setlocale(LC_NUMERIC, "POSIX");
+
   fprintf(outfile, "%f %f -%f %f 0 0 cm\n", cos(rad), sin(rad), sin(rad), cos(rad)); /* rotate */
   fprintf(outfile, "%f 0 0 %f 0 0 cm\n", width, height); /* scale */
+
+  setlocale(LC_NUMERIC, save_locale);
+  free(save_locale);
+
   fprintf(outfile, "BI\n");
   fprintf(outfile, "  /W %d\n", image_info->image_width);
   fprintf(outfile, "  /H %d\n", image_info->image_height);
-- 
2.22.0

id=c8bc58a9e705bb4c37d2c4386d1c6050ab324cb1'>ci: Add 'gdb-minimal' to the "core" package set....* gnu/ci.scm (%core-packages): Add GDB-MINIMAL. Ludovic Courtès 2023-03-09ci: Update the list of GCC versions for the 'core' subset....* gnu/ci.scm (%core-packages): Remove GCC-8 and GCC-9. Add GCC-12. Ludovic Courtès 2022-10-22Remove now unnecessary uses of (guix grafts)....These modules would use (guix grafts) just to access '%graft?' and related bindings, which are now in (guix store). * gnu/ci.scm, guix/gexp.scm, guix/lint.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/deploy.scm, guix/scripts/environment.scm, guix/scripts/home.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/pull.scm, guix/scripts/size.scm, guix/scripts/system.scm, guix/scripts/weather.scm, tests/builders.scm, tests/channels.scm, tests/cpan.scm, tests/derivations.scm, tests/gexp.scm, tests/graph.scm, tests/guix-daemon.sh, tests/monads.scm, tests/pack.scm, tests/packages.scm, tests/profiles.scm, tests/system.scm: Remove #:use-module (guix grafts). Ludovic Courtès 2022-10-13ci: Honor the system passed to image->job....Fixes: <https://issues.guix.gnu.org/53480>. * gnu/ci.scm (image->job): Pass the system argument to the underlying lower-object call. Mathieu Othacehe 2022-10-11Revert "guix system: Remove unused 'read-operating-system' procedure."...This reverts commit d11a432adffe9308eafec6b77cddd3145029109e. The 'read-operating-system' is used in Emacs-Guix. Ludovic Courtès 2022-09-24gnu: Add compression module....Move the compression record to a dedicated module so that it can be used outside (guix scripts pack) module. * guix/scripts/pack.scm (<compressor>, %compressors, lookup-compressor): Move it to ... * gnu/compression.scm: ... this new file. * gnu/ci.scm: Adapt it. * local.mk (GNU_SYSTEM_MODULES): Add it. Mathieu Othacehe 2022-08-17ci: Fix the images specification....If the current-guix-package parameter is not set, Cuirass will try to update the in-store Git checkout used by the evaluate.scm inferior: ice-9/boot-9.scm:1685:16: In procedure raise-exception: ERROR: 1. &inferior-exception: arguments: (git-error #<inferior-object #<<git-error> code: -3 message: "could not find repository from '/gnu/store/v33m82qzkvd96dlp2g83dvz62n4pkad2-guix-20d8081'" class: 6>>) inferior: #<inferior pipe (0 1 1) 7f7948957dc0> stack: ((#f ("ice-9/boot-9.scm" 1779 13)) (raise-exception ("ice-9/boot-9.scm" 1682 16)) (raise-exception ("ice-9/boot-9.scm" 1684 16)) (#f ("guix/git.scm" 395 13)) This is a follow-up of: 5bce4c82422de6beb3ce6120ba1592be898c2b72. * gnu/ci.scm (image-jobs): Add source and commit arguments. Use them to set the current-guix-package parameter. (cuirass-jobs): Adapt accordingly. Mathieu Othacehe 2022-08-09build-system: Add 'channel-build-system'....* gnu/ci.scm (channel-build-system, channel-source->package): Remove. * gnu/packages/package-management.scm (channel-source->package): New procedure, moved from (gnu ci). * guix/build-system/channel.scm: New file, with code moved from (gnu ci). * doc/guix.texi (Build Systems): Document it. Ludovic Courtès 2022-08-05guix system: Remove unused 'read-operating-system' procedure....* guix/scripts/system.scm (read-operating-system): Remove. * gnu/ci.scm: Remove unused (guix scripts system) import. Ludovic Courtès 2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/....* gnu/platform.scm: * gnu/platforms/arm.scm: * gnu/platforms/hurd.scm: * gnu/platforms/mips.scm: * gnu/platforms/powerpc.scm: * gnu/platforms/riscv.scm: * gnu/platforms/s390.scm: * gnu/platforms/x86.scm: Move to guix/. * Makefile.am: * doc/guix.texi (Porting to a New Platform): * etc/release-manifest.scm: * gnu/ci.scm: * gnu/image.scm: * gnu/local.mk: * gnu/packages/bioinformatics.scm: * gnu/packages/bootstrap.scm: * gnu/packages/cross-base.scm: * gnu/packages/instrumentation.scm: * gnu/packages/linux.scm: * gnu/system/image.scm: * gnu/system/images/hurd.scm: * gnu/system/images/novena.scm: * gnu/system/images/pine64.scm: * gnu/system/images/pinebook-pro.scm: * gnu/system/images/rock64.scm: * guix/scripts/build.scm: * guix/scripts/system.scm: * guix/self.scm: Update (gnu platform...) to (guix platform...). Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Josselin Poiret 2022-05-22ci: Do not rely on hardcoded cross-targets lists....* gnu/ci.scm (%cross-targets): Remove it ... (cross-jobs): ... and use the targets procedure instead. * etc/release-manifest.scm: Adapt it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Mathieu Othacehe 2022-01-01ci: Add extra jobs for tunable packages....This allows us to provide substitutes for tuned package variants. * gnu/ci.scm (package-job): Add #:suffix and honor it. (package->job): Add #:suffix and honor it. (%x86-64-micro-architectures): New variable. (tuned-package-jobs): New procedure. (cuirass-jobs): Add jobs for tunable packages. Ludovic Courtès 2021-12-10Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe 2021-12-06ci: Cross-build the 'guix' package....* gnu/ci.scm (%core-packages): Add GUIX. Ludovic Courtès 2021-10-12Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe 2021-10-04ci: Allow manifests to contain any lowerable object....Previously, manifests could only contain packages: https://lists.gnu.org/archive/html/guix-devel/2021-10/msg00002.html This allows us to pass origins as found in 'etc/source-manifest.scm'. * gnu/ci.scm (derivation->job): Change default #:timeout value to 5h. (manifests->packages): Remove. (manifests->jobs): New procedure. (cuirass-jobs): Use it in the 'manifests' case. Ludovic Courtès 2021-09-27ci: Adjust 'channel-build-system' to monadic style....* gnu/ci.scm (channel-build-system): Adjust to new monadic style. Ludovic Courtès 2021-07-10ci: Build commencement packages supported on the target system....This is a followup to df49fe2a13d933c640e3189413c5adfced1103c5. * gnu/ci.scm (%bootstrap-packages): Rename to... (commencement-packages): ... this, and turn into a procedure. Filter packages that pass 'supported-package?'. (cuirass-jobs): Adjust accordingly. Ludovic Courtès 2021-07-09ci: Add bootstrap packages to the core subset....* gnu/ci.scm (%bootstrap-packages): New variable. (cuirass-jobs): Add it to the core subset. Mathieu Othacehe 2021-07-09ci: Add bootstrap packages to the core subset....* gnu/ci.scm (%bootstrap-packages): New variable. (cuirass-jobs): Add it to the core subset. Mathieu Othacehe 2021-07-05ci: Change "core" subset to include the latest GCC and Guile....* gnu/ci.scm (%core-packages): Replace GCC-7 by GCC-11 and GUILE-2.0 by GUILE-3.0. Ludovic Courtès 2021-07-03ci: Remove duplicate ".SYSTEM" extension for cross-compilation jobs....* gnu/ci.scm (package-cross-job): Remove ".SYSTEM". Ludovic Courtès 2021-05-25ci: Add derivation inputs....* gnu/ci.scm (derivation->job): Add the derivation inputs to the job association list. Mathieu Othacehe 2021-05-25ci: Add derivation inputs....* gnu/ci.scm (derivation->job): Add the derivation inputs to the job association list. Mathieu Othacehe n)[home-page]: Likewise. * gnu/packages/libffi.scm (libffi)[home-page]: Likewise. * gnu/packages/libreoffice.scm (libwpd, libwpg, libwps)[home-page]: Likewise. * gnu/packages/libusb.scm (libmtp, gmtp)[home-page]: Likewise. * gnu/packages/linux.scm (e2fsprogs, extundelete, lsscsi, net-tools) (kbd, sysfsutils, cpuid, libpfm4)[home-page]: Likewise. * gnu/packages/lisp-check.scm (sbcl-ptester, sbcl-xlunit)[home-page]: Likewise. * gnu/packages/lisp-xyz.scm (sbcl-html-encode, sbcl-py-configparser) (sbcl-cl-utilities, sbcl-series, sbcl-uffi, sbcl-clsql, sbcl-sycamore) (sbcl-osicat, sbcl-hu.dwim.common, sbcl-caveman, sbcl-trivial-shell) (sbcl-trivial-benchmark, sbcl-screamer, sbcl-smug)[home-page]: Likewise. * gnu/packages/lisp.scm (lush2)[home-page]: Likewise. * gnu/packages/logging.scm (log4cpp)[home-page]: Likewise. * gnu/packages/lua.scm (lua-ldoc)[home-page]: Likewise. * gnu/packages/machine-learning.scm (mcl, openfst, rxcpp)[home-page]: Likewise. * gnu/packages/mail.scm (muchsync, procmail, sendmail) (opensmtpd-filter-dkimsign, crm114)[home-page]: Likewise. * gnu/packages/man.scm (libpipeline, man-db)[home-page]: Likewise. * gnu/packages/maths.scm (lapack, scalapack, hdf-eos5, itpp, gmsh) (metamath, p4est, armadillo, suitesparse, atlas, lpsolve, wcalc, why3) (frama-c)[home-page]: Likewise. * gnu/packages/mcrypt.scm (mcrypt, libmcrypt, libmhash)[home-page]: Likewise. * gnu/packages/minetest.scm (minetest-advtrains)[home-page]: Likewise. * gnu/packages/monitoring.scm (python-whisper, python-carbon) (hostscope)[home-page]: Likewise. * gnu/packages/mp3.scm (id3lib, libmp3splt, mp3splt, mpg321) (lame)[home-page]: Likewise. * gnu/packages/multiprecision.scm (mpc)[home-page]: Likewise. * gnu/packages/music.scm (aria-maestosa, lingot, setbfree, bristol) (portmidi, python-pyportmidi, zynaddsubfx, yoshimi, aj-snapshot) (schismtracker, midicsv, midicsv, qmidiarp, qmidiroute, dssi, tap-lv2) (shiru-lv2)[home-page]: Likewise. * gnu/packages/ncurses.scm (stfl)[home-page]: Likewise. * gnu/packages/networking.scm (lksctp-tools, mbuffer, ifstatus, bird) (tunctl, traceroute)[home-page]: Likewise. * gnu/packages/node-xyz.scm (node-mersenne)[home-page]: Likewise. * gnu/packages/ntp.scm (openntpd)[home-page]: Likewise. * gnu/packages/ocaml.scm (opam, hevea, ocaml-menhir, ocaml-piqilib) (ocaml-graph, cubicle)[home-page]: Likewise. * gnu/packages/opencl.scm (python-pyopencl)[home-page]: Likewise. * gnu/packages/package-management.scm (xstow, modules)[home-page]: Likewise. * gnu/packages/parallel.scm (xjobs)[home-page]: Likewise. * gnu/packages/pdf.scm (podofo, qpdf, xournal, impressive)[home-page]: Likewise. * gnu/packages/perl.scm (perl-math-vecstat, perltidy)[home-page]: Likewise. * gnu/packages/photo.scm (libpano13, enblend-enfuse, hugin)[home-page]: Likewise. * gnu/packages/plan9.scm (drawterm)[home-page]: Likewise. * gnu/packages/plotutils.scm (guile-charting, ploticus)[home-page]: Likewise. * gnu/packages/popt.scm (argtable, popt)[home-page]: Likewise. * gnu/packages/profiling.scm (otf2)[home-page]: Likewise. * gnu/packages/pulseaudio.scm (pulseaudio)[home-page]: Likewise. * gnu/packages/python-check.scm (python-mypy)[home-page]: Likewise. * gnu/packages/python-web.scm (python-cssutils) (python-translationstring)[home-page]: Likewise. * gnu/packages/python-xyz.scm (python-diskcache, python-doxyqml) (python-docutils, python-pexpect, python-importlib-resources) (python-simplegeneric, python-urwid, python-xlrd, python-xlwt) (python-pyasn1, python-pythondialog, python-tftpy, python-random2) (python-arcp, python-pyopengl, python-sortedcollections) (python-sortedcontainers, python-yapsy, python-pydispatcher) (python-posix-ipc)[home-page]: Likewise. * gnu/packages/qt.scm (qwt, libqglviewer, signond)[home-page]: Likewise. * gnu/packages/radio.scm (unixcw, gnuais)[home-page]: Likewise. * gnu/packages/raspberry-pi.scm (bcm2835)[home-page]: Likewise. * gnu/packages/rdf.scm (clucene, rasqal, redland)[home-page]: Likewise. * gnu/packages/regex.scm (tre)[home-page]: Likewise. * gnu/packages/rsync.scm (librsync)[home-page]: Likewise. * gnu/packages/ruby.scm (ruby-packnga, ruby-nokogiri, ruby-oj, ruby-ox) (ruby-sinatra, ruby-citrus, ruby-cbor, ruby-roda)[home-page]: Likewise. * gnu/packages/scheme.scm (scheme48, tinyscheme)[home-page]: Likewise. * gnu/packages/screen.scm (dtach)[home-page]: Likewise. * gnu/packages/scsi.scm (sg3-utils)[home-page]: Likewise. * gnu/packages/sdl.scm (libmikmod, sdl-pango)[home-page]: Likewise. * gnu/packages/shellutils.scm (hstr, rig)[home-page]: Likewise. * gnu/packages/simulation.scm (python-dolfin-adjoint)[home-page]: Likewise. * gnu/packages/smalltalk.scm (smalltalk)[home-page]: Likewise. * gnu/packages/speech.scm (espeak)[home-page]: Likewise. * gnu/packages/stalonetray.scm (stalonetray)[home-page]: Likewise. * gnu/packages/statistics.scm (jags, r-mass, r-class, r-lattice) (r-matrix, r-nnet, r-spatial, r-bit, r-bit64, r-digest, r-xtable) (python-statsmodels, r-ade4, r-latticeextra, r-rcurl, r-xml, r-mvtnorm) (r-robustbase, r-minqa, r-fdrtool, java-jdistlib, xlispstat)[home-page]: Likewise. * gnu/packages/swig.scm (swig)[home-page]: Likewise. * gnu/packages/task-management.scm (wtime)[home-page]: Likewise. * gnu/packages/tcl.scm (itcl, tclxml, tclx)[home-page]: Likewise. * gnu/packages/terminals.scm (libtermkey, mlterm, libvterm) (libvterm)[home-page]: Likewise. * gnu/packages/tex.scm (texlive-lm, texlive-lm-math, texlive-cs) (texlive-csplain, biber, texmaker)[home-page]: Likewise. * gnu/packages/text-editors.scm (joe)[home-page]: Likewise. * gnu/packages/textutils.scm (drm-tools, docx2txt)[home-page]: Likewise. * gnu/packages/tv.scm (tvtime)[home-page]: Likewise. * gnu/packages/unicode.scm (libunibreak)[home-page]: Likewise. * gnu/packages/upnp.scm (libupnp)[home-page]: Likewise. * gnu/packages/version-control.scm (cvs)[home-page]: Likewise. * gnu/packages/video.scm (transcode, libquicktime, mjpegtools, aalib) (liba52, libmpeg2, x265, libdv, dvdauthor, aegisub, pitivi, gavl) (dvdbackup, guvcview, video-contact-sheet)[home-page]: Likewise. * gnu/packages/virtualization.scm (bochs)[home-page]: Likewise. * gnu/packages/w3m.scm (w3m)[home-page]: Likewise. * gnu/packages/web.scm (qjson, libquvi-scripts, libquvi, quvi) (tidy-html, htmlcxx)[home-page]: Likewise. * gnu/packages/wm.scm (evilwm, menumaker)[home-page]: Likewise. * gnu/packages/wv.scm (wv)[home-page]: Likewise. * gnu/packages/wxwidgets.scm (wxsvg)[home-page]: Likewise. * gnu/packages/xdisorg.scm (mtdev, xsel)[home-page]: Likewise. * gnu/packages/xfig.scm (xfig, transfig)[home-page]: Likewise. * gnu/packages/xml.scm (openjade, python-pyxb, xmlstarlet, xmlrpc-c) (opensp)[home-page]: Likewise. * gnu/packages/xorg.scm (xf86-video-qxl)[home-page]: Likewise. Tobias Geerinckx-Rice 2023-02-12gnu: git-annex: Update to 10.20230126....* gnu/packages/haskell-apps.scm (git-annex): Update to 10.20230126. Efraim Flashner 2023-02-01gnu: shellcheck: Update to 0.9.0....* gnu/packages/haskell-apps.scm (shellcheck): Update to 0.9.0. [inputs]: Add ghc-fgl. Signed-off-by: Christopher Baines <mail@cbaines.net> Greg Hogan