#!/usr/bin/perl -w use strict; die unless @ARGV == 4; our ($out, $in, $lic, $usvg) = @ARGV; open STDOUT, '>', "$out.tmp" or die $!; open L, '<', $lic or die $!; open STDIN, "<", $in or die $!; $!=0; my $git = `git rev-parse HEAD`; die "$? $!" if $! || $?; $!=0; my $plus = `git status --porcelain`; die "$? $!" if $! || $?; chomp $git; chomp $plus; $git .= "+" if length $plus; sub add_lic () { while () { next unless m{^\s*SPDX-License-Identifier:\s+(\S.*?)\s*$}; print "\n" or die $!; return; } die "no spdx in $lic ?"; } add_lic(); flush STDOUT or die $!; my $cmd = "$usvg"; open OPTS, "src/USVG_DEFAULT_ARGS.txt" or die $!; while () { s/^\s*$//; s/\s*$//; next unless m/^[^#]/; $cmd .= " '$_'"; } $cmd .= " - -c"; my $cmd_m = "$cmd <$in >$out.tmp"; print STDERR "+ $cmd_m\n"; $!=0; $?=0; system qw(sh -ec), "exec $cmd" and die "exec usvg: $cmd_m: $? $!"; rename "$out.tmp", $out or die "'$cmd_m': $!";