XCF->PNG build
In the end it would have been easier just to use Imagemagick for this. What a mess. Another example where a GUI seemed simple at first but then turned out to be a poor tool for the job.master
parent
fad5b41407
commit
2bc167f8ee
10
Makefile
10
Makefile
|
@ -18,12 +18,16 @@
|
||||||
|
|
||||||
default: slides.pdf
|
default: slides.pdf
|
||||||
|
|
||||||
|
xcfs = $(wildcard images/*.xcf)
|
||||||
|
pngs = $(xcfs:.xcf=.png)
|
||||||
|
|
||||||
|
.PRECIOUS: $(pngs)
|
||||||
|
|
||||||
# TODO: No local init.el! Isolate required options so that this is actually
|
# TODO: No local init.el! Isolate required options so that this is actually
|
||||||
# portable!
|
# portable!
|
||||||
%.pdf: %.org %-preamble.tex
|
%.pdf: %.org %-preamble.tex $(pngs)
|
||||||
emacs --batch -l ~/.emacs.d/init.el $< -f org-beamer-export-to-pdf
|
emacs --batch -l ~/.emacs.d/init.el $< -f org-beamer-export-to-pdf
|
||||||
|
|
||||||
# TODO: Either script with GIMP or just use ImageMagick and get rid of xcfs
|
# TODO: Either script with GIMP or just use ImageMagick and get rid of xcfs
|
||||||
%.png: %.xcf
|
%.png: %.xcf
|
||||||
@echo 'Not yet implemented!' >&2
|
GIMP_INPUT="$<" GIMP_OUTPUT="$@" gimp -ni -b - < build-aux/xcf2png.scm
|
||||||
@false
|
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
;;; Convert XCF files to PNG
|
||||||
|
;;;
|
||||||
|
;;; Copyright (C) 2019 Mike Gerwitz
|
||||||
|
;;;
|
||||||
|
;;; This program is free software: you can redistribute it and/or modify
|
||||||
|
;;; it under the terms of the GNU General Public License as published by
|
||||||
|
;;; the Free Software Foundation, either version 3 of the License, or
|
||||||
|
;;; (at your option) any later version.
|
||||||
|
;;;
|
||||||
|
;;; This program is distributed in the hope that it will be useful,
|
||||||
|
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
;;; GNU General Public License for more details.
|
||||||
|
;;;
|
||||||
|
;;; You should have received a copy of the GNU General Public License
|
||||||
|
;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
(let* ((input-filename (getenv "GIMP_INPUT"))
|
||||||
|
(output-filename (getenv "GIMP_OUTPUT"))
|
||||||
|
(image (car (gimp-file-load RUN-NONINTERACTIVE
|
||||||
|
input-filename
|
||||||
|
input-filename)))
|
||||||
|
(layer (car (gimp-image-merge-visible-layers
|
||||||
|
image
|
||||||
|
CLIP-TO-IMAGE))))
|
||||||
|
|
||||||
|
(gimp-file-save RUN-NONINTERACTIVE
|
||||||
|
image
|
||||||
|
layer
|
||||||
|
output-filename
|
||||||
|
output-filename)
|
||||||
|
|
||||||
|
(gimp-image-delete image)
|
||||||
|
(gimp-quit 0))
|
||||||
|
|
Loading…
Reference in New Issue