lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

001-disable-png.patch (9738B)


      1 --- a/qrenc.c
      2 +++ b/qrenc.c
      3 @@ -25,7 +25,6 @@
      4  #include <stdio.h>
      5  #include <stdlib.h>
      6  #include <string.h>
      7 -#include <png.h>
      8  #include <getopt.h>
      9  
     10  #include "qrencode.h"
     11 @@ -49,7 +48,6 @@
     12  static int verbose = 0;
     13  
     14  enum imageType {
     15 -	PNG_TYPE,
     16  	EPS_TYPE,
     17  	SVG_TYPE,
     18  	ANSI_TYPE,
     19 @@ -60,7 +58,7 @@
     20  	ANSIUTF8_TYPE
     21  };
     22  
     23 -static enum imageType image_type = PNG_TYPE;
     24 +static enum imageType image_type = SVG_TYPE;
     25  
     26  static const struct option options[] = {
     27  	{"help"         , no_argument      , NULL, 'h'},
     28 @@ -96,13 +94,13 @@
     29  		if(longopt) {
     30  			fprintf(stderr,
     31  "Usage: qrencode [OPTION]... [STRING]\n"
     32 -"Encode input data in a QR Code and save as a PNG or EPS image.\n\n"
     33 +"Encode input data in a QR Code and save as a SVG or EPS image.\n\n"
     34  "  -h, --help   display the help message. -h displays only the help of short\n"
     35  "               options.\n\n"
     36  "  -o FILENAME, --output=FILENAME\n"
     37  "               write image to FILENAME. If '-' is specified, the result\n"
     38  "               will be output to standard output. If -S is given, structured\n"
     39 -"               symbols are written to FILENAME-01.png, FILENAME-02.png, ...\n"
     40 +"               symbols are written to FILENAME-01.svg, FILENAME-02.svg, ...\n"
     41  "               (suffix is removed from FILENAME, if specified)\n"
     42  "  -s NUMBER, --size=NUMBER\n"
     43  "               specify module size in dots (pixels). (default=3)\n\n"
     44 @@ -116,9 +114,9 @@
     45  "               specify the width of the margins. (default=4 (2 for Micro QR)))\n\n"
     46  "  -d NUMBER, --dpi=NUMBER\n"
     47  "               specify the DPI of the generated PNG. (default=72)\n\n"
     48 -"  -t {PNG,EPS,SVG,ANSI,ANSI256,ASCII,ASCIIi,UTF8,ANSIUTF8}, --type={PNG,EPS,\n"
     49 +"  -t {EPS,SVG,ANSI,ANSI256,ASCII,ASCIIi,UTF8,ANSIUTF8}, --type={EPS,\n"
     50  "               SVG,ANSI,ANSI256,ASCII,ASCIIi,UTF8,ANSIUTF8}\n"
     51 -"               specify the type of the generated image. (default=PNG)\n\n"
     52 +"               specify the type of the generated image. (default=SVG)\n\n"
     53  "  -S, --structured\n"
     54  "               make structured symbols. Version must be specified.\n\n"
     55  "  -k, --kanji  assume that the input text contains kanji (shift-jis).\n\n"
     56 @@ -133,7 +131,7 @@
     57  "      --background=RRGGBB[AA]\n"
     58  "               specify foreground/background color in hexadecimal notation.\n"
     59  "               6-digit (RGB) or 8-digit (RGBA) form are supported.\n"
     60 -"               Color output support available only in PNG and SVG.\n"
     61 +"               Color output support available only in SVG.\n"
     62  "  -V, --version\n"
     63  "               display the version number and copyrights of the qrencode.\n\n"
     64  "      --verbose\n"
     65 @@ -153,12 +151,12 @@
     66  		} else {
     67  			fprintf(stderr,
     68  "Usage: qrencode [OPTION]... [STRING]\n"
     69 -"Encode input data in a QR Code and save as a PNG or EPS image.\n\n"
     70 +"Encode input data in a QR Code and save as a SVG or EPS image.\n\n"
     71  "  -h           display this message.\n"
     72  "  --help       display the usage of long options.\n"
     73  "  -o FILENAME  write image to FILENAME. If '-' is specified, the result\n"
     74  "               will be output to standard output. If -S is given, structured\n"
     75 -"               symbols are written to FILENAME-01.png, FILENAME-02.png, ...\n"
     76 +"               symbols are written to FILENAME-01.svg, FILENAME-02.svg, ...\n"
     77  "               (suffix is removed from FILENAME, if specified)\n"
     78  "  -s NUMBER    specify module size in dots (pixels). (default=3)\n"
     79  "  -l {LMQH}    specify error correction level from L (lowest) to H (highest).\n"
     80 @@ -166,8 +164,8 @@
     81  "  -v NUMBER    specify the version of the symbol. (default=auto)\n"
     82  "  -m NUMBER    specify the width of the margins. (default=4 (2 for Micro))\n"
     83  "  -d NUMBER    specify the DPI of the generated PNG. (default=72)\n"
     84 -"  -t {PNG,EPS,SVG,ANSI,ANSI256,ASCII,ASCIIi,UTF8,ANSIUTF8}\n"
     85 -"               specify the type of the generated image. (default=PNG)\n"
     86 +"  -t {EPS,SVG,ANSI,ANSI256,ASCII,ASCIIi,UTF8,ANSIUTF8}\n"
     87 +"               specify the type of the generated image. (default=SVG)\n"
     88  "  -S           make structured symbols. Version must be specified.\n"
     89  "  -k           assume that the input text contains kanji (shift-jis).\n"
     90  "  -c           encode lower-case alphabet characters in 8-bit mode. (default)\n"
     91 @@ -178,7 +176,7 @@
     92  "  --background=RRGGBB[AA]\n"
     93  "               specify foreground/background color in hexadecimal notation.\n"
     94  "               6-digit (RGB) or 8-digit (RGBA) form are supported.\n"
     95 -"               Color output support available only in PNG and SVG.\n"
     96 +"               Color output support available only in SVG.\n"
     97  "  -V           display the version number and copyrights of the qrencode.\n"
     98  "  [STRING]     input data. If it is not specified, data will be taken from\n"
     99  "               standard input.\n"
    100 @@ -253,128 +251,6 @@
    101  	return fp;
    102  }
    103  
    104 -static int writePNG(QRcode *qrcode, const char *outfile)
    105 -{
    106 -	static FILE *fp; // avoid clobbering by setjmp.
    107 -	png_structp png_ptr;
    108 -	png_infop info_ptr;
    109 -	png_colorp palette;
    110 -	png_byte alpha_values[2];
    111 -	unsigned char *row, *p, *q;
    112 -	int x, y, xx, yy, bit;
    113 -	int realwidth;
    114 -
    115 -	realwidth = (qrcode->width + margin * 2) * size;
    116 -	row = (unsigned char *)malloc((realwidth + 7) / 8);
    117 -	if(row == NULL) {
    118 -		fprintf(stderr, "Failed to allocate memory.\n");
    119 -		exit(EXIT_FAILURE);
    120 -	}
    121 -
    122 -	if(outfile[0] == '-' && outfile[1] == '\0') {
    123 -		fp = stdout;
    124 -	} else {
    125 -		fp = fopen(outfile, "wb");
    126 -		if(fp == NULL) {
    127 -			fprintf(stderr, "Failed to create file: %s\n", outfile);
    128 -			perror(NULL);
    129 -			exit(EXIT_FAILURE);
    130 -		}
    131 -	}
    132 -
    133 -	png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
    134 -	if(png_ptr == NULL) {
    135 -		fprintf(stderr, "Failed to initialize PNG writer.\n");
    136 -		exit(EXIT_FAILURE);
    137 -	}
    138 -
    139 -	info_ptr = png_create_info_struct(png_ptr);
    140 -	if(info_ptr == NULL) {
    141 -		fprintf(stderr, "Failed to initialize PNG write.\n");
    142 -		exit(EXIT_FAILURE);
    143 -	}
    144 -
    145 -	if(setjmp(png_jmpbuf(png_ptr))) {
    146 -		png_destroy_write_struct(&png_ptr, &info_ptr);
    147 -		fprintf(stderr, "Failed to write PNG image.\n");
    148 -		exit(EXIT_FAILURE);
    149 -	}
    150 -
    151 -	palette = (png_colorp) malloc(sizeof(png_color) * 2);
    152 -	if(palette == NULL) {
    153 -		fprintf(stderr, "Failed to allocate memory.\n");
    154 -		exit(EXIT_FAILURE);
    155 -	}
    156 -	palette[0].red   = fg_color[0];
    157 -	palette[0].green = fg_color[1];
    158 -	palette[0].blue  = fg_color[2];
    159 -	palette[1].red   = bg_color[0];
    160 -	palette[1].green = bg_color[1];
    161 -	palette[1].blue  = bg_color[2];
    162 -	alpha_values[0] = fg_color[3];
    163 -	alpha_values[1] = bg_color[3];
    164 -	png_set_PLTE(png_ptr, info_ptr, palette, 2);
    165 -	png_set_tRNS(png_ptr, info_ptr, alpha_values, 2, NULL);
    166 -
    167 -	png_init_io(png_ptr, fp);
    168 -	png_set_IHDR(png_ptr, info_ptr,
    169 -			realwidth, realwidth,
    170 -			1,
    171 -			PNG_COLOR_TYPE_PALETTE,
    172 -			PNG_INTERLACE_NONE,
    173 -			PNG_COMPRESSION_TYPE_DEFAULT,
    174 -			PNG_FILTER_TYPE_DEFAULT);
    175 -	png_set_pHYs(png_ptr, info_ptr,
    176 -			dpi * INCHES_PER_METER,
    177 -			dpi * INCHES_PER_METER,
    178 -			PNG_RESOLUTION_METER);
    179 -	png_write_info(png_ptr, info_ptr);
    180 -
    181 -	/* top margin */
    182 -	memset(row, 0xff, (realwidth + 7) / 8);
    183 -	for(y=0; y<margin * size; y++) {
    184 -		png_write_row(png_ptr, row);
    185 -	}
    186 -
    187 -	/* data */
    188 -	p = qrcode->data;
    189 -	for(y=0; y<qrcode->width; y++) {
    190 -		bit = 7;
    191 -		memset(row, 0xff, (realwidth + 7) / 8);
    192 -		q = row;
    193 -		q += margin * size / 8;
    194 -		bit = 7 - (margin * size % 8);
    195 -		for(x=0; x<qrcode->width; x++) {
    196 -			for(xx=0; xx<size; xx++) {
    197 -				*q ^= (*p & 1) << bit;
    198 -				bit--;
    199 -				if(bit < 0) {
    200 -					q++;
    201 -					bit = 7;
    202 -				}
    203 -			}
    204 -			p++;
    205 -		}
    206 -		for(yy=0; yy<size; yy++) {
    207 -			png_write_row(png_ptr, row);
    208 -		}
    209 -	}
    210 -	/* bottom margin */
    211 -	memset(row, 0xff, (realwidth + 7) / 8);
    212 -	for(y=0; y<margin * size; y++) {
    213 -		png_write_row(png_ptr, row);
    214 -	}
    215 -
    216 -	png_write_end(png_ptr, info_ptr);
    217 -	png_destroy_write_struct(&png_ptr, &info_ptr);
    218 -
    219 -	fclose(fp);
    220 -	free(row);
    221 -	free(palette);
    222 -
    223 -	return 0;
    224 -}
    225 -
    226  static int writeEPS(QRcode *qrcode, const char *outfile)
    227  {
    228  	FILE *fp;
    229 @@ -831,9 +707,6 @@
    230  	}
    231  
    232  	switch(image_type) {
    233 -		case PNG_TYPE:
    234 -			writePNG(qrcode, outfile);
    235 -			break;
    236  		case EPS_TYPE:
    237  			writeEPS(qrcode, outfile);
    238  			break;
    239 @@ -887,9 +760,6 @@
    240  	size_t suffix_size;
    241  
    242  	switch(image_type) {
    243 -		case PNG_TYPE:
    244 -			type_suffix = ".png";
    245 -			break;
    246  		case EPS_TYPE:
    247  			type_suffix = ".eps";
    248  			break;
    249 @@ -948,9 +818,6 @@
    250  		}
    251  
    252  		switch(image_type) {
    253 -			case PNG_TYPE: 
    254 -				writePNG(p->code, filename);
    255 -				break;
    256  			case EPS_TYPE: 
    257  				writeEPS(p->code, filename);
    258  				break;
    259 @@ -1062,9 +929,7 @@
    260  				}
    261  				break;
    262  			case 't':
    263 -				if(strcasecmp(optarg, "png") == 0) {
    264 -					image_type = PNG_TYPE;
    265 -				} else if(strcasecmp(optarg, "eps") == 0) {
    266 +				if(strcasecmp(optarg, "eps") == 0) {
    267  					image_type = EPS_TYPE;
    268  				} else if(strcasecmp(optarg, "svg") == 0) {
    269  					image_type = SVG_TYPE;
    270 @@ -1133,11 +998,6 @@
    271  		exit(EXIT_SUCCESS);
    272  	}
    273  
    274 -	if(outfile == NULL && image_type == PNG_TYPE) {
    275 -		fprintf(stderr, "No output filename is given.\n");
    276 -		exit(EXIT_FAILURE);
    277 -	}
    278 -
    279  	if(optind < argc) {
    280  		intext = (unsigned char *)argv[optind];
    281  		length = strlen((char *)intext);
    282 --- a/configure.ac
    283 +++ b/configure.ac
    284 @@ -58,9 +58,6 @@
    285   [build_tools=$withval], [build_tools=yes])
    286  
    287  AM_CONDITIONAL(BUILD_TOOLS, [test "x$build_tools" = "xyes" ])
    288 -if test x$build_tools = xyes ; then
    289 -	PKG_CHECK_MODULES(png, "libpng")
    290 -fi
    291  
    292  dnl --with-tests
    293  AC_ARG_WITH([tests], [AS_HELP_STRING([--with-tests], [build tests [default=no]])],
    294 @@ -80,12 +77,6 @@
    295  echo "/* #undef WITH_TESTS */" >>confdefs.h
    296  fi
    297  
    298 -if test x$build_tests = xyes ; then
    299 -	SDL_REQUIRED_VERSION=1.2.0
    300 -	AM_PATH_SDL($SDL_REQUIRED_VERSION,,AC_MSG_WARN([*** SDL $SDL_REQUIRED_VERSION or better is required.]))
    301 -	AC_MSG_NOTICE([SDL check done.])
    302 -	AM_ICONV_LINK
    303 -fi
    304  AM_CONDITIONAL(HAVE_SDL, [test "x$SDL_CFLAGS" != "x" ])
    305  
    306