Ravenports generated: 12 Feb 2024 04:56
[ravenports.git] / bucket_4C / t1lib
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               t1lib
4 VERSION=                5.1.2
5 REVISION=               2
6 KEYWORDS=               devel
7 VARIANTS=               standard
8 SDESC[standard]=        Adobe Type 1 font rasterizing library
9 HOMEPAGE=               https://www.t1lib.org
10 CONTACT=                Michael_Reim[kraileth@elderlinux.org]
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            http://www.ibiblio.org/pub/Linux/libs/graphics/
14 DISTFILE[1]=            t1lib-5.1.2.tar.gz:main
15 DF_INDEX=               1
16 SPKGS[standard]=        complete
17                         primary
18                         dev
19                         tools
20                         docs
21
22 OPTIONS_AVAILABLE=      none
23 OPTIONS_STANDARD=       none
24
25 EXRUN[tools]=           primary
26
27 USES=                   cpe libtool fbsd10fix
28 XORG_COMPONENTS=        xaw
29
30 LICENSE=                LGPL20:primary MIT:primary
31 LICENSE_TERMS=          primary:{{WRKDIR}}/TERMS
32 LICENSE_FILE=           LGPL20:{{WRKSRC}}/LGPL
33                         MIT:{{WRKDIR}}/MIT
34 LICENSE_AWK=            TERMS:"^$$"
35                         MIT:"^$$"
36 LICENSE_SOURCE=         TERMS:{{WRKSRC}}/lib/t1lib/t1lib.h
37                         MIT:{{WRKSRC}}/lib/type1/type1.c
38 LICENSE_SCHEME=         multi
39
40 FPC_EQUIVALENT=         devel/t1lib
41
42 MUST_CONFIGURE=         gnu
43 CONFIGURE_ARGS=         --with-x
44
45 BUILD_TARGET=           without_doc
46
47 INSTALL_REQ_TOOLCHAIN=  yes
48 SOVERSION=              5.1.2
49
50 post-install:
51         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so
52
53 [FILE:707:descriptions/desc.primary]
54 T1lib is an open source library developed by Rainer Menzner and is 
55 distributed under the GNU General Public Library License. t1lib is written 
56 in the C programming language allowing a programmer to generate/rasterize 
57 bitmaps from Adobe (TM) Type 1 fonts quite easily. t1lib is based on the 
58 code of the X11 rasterizer which was donated by IBM to the X11 project.
59
60 The bitmaps created by t1lib are returned in a data structure with type 
61 GLYPH. This special GLYPH-type is also used in the X11 window system to 
62 describe character bitmaps. It contains the bitmap data as well as some 
63 metric information. But t1lib is in itself entirely independent of the 
64 X11-system or any other graphical user interface.
65
66
67 [FILE:50:descriptions/desc.tools]
68 This package contains tools that come with t1lib.
69
70
71 [FILE:97:distinfo]
72 821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59      1872534 t1lib-5.1.2.tar.gz
73
74
75 [FILE:99:manifests/plist.primary]
76 lib/
77  libt1.so.%%SOMAJOR%%
78  libt1.so.%%SOVERSION%%
79  libt1x.so.%%SOMAJOR%%
80  libt1x.so.%%SOVERSION%%
81
82
83 [FILE:73:manifests/plist.dev]
84 include/
85  t1lib.h
86  t1libx.h
87 lib/
88  libt1.a
89  libt1.so
90  libt1x.a
91  libt1x.so
92
93
94 [FILE:48:manifests/plist.tools]
95 bin/
96  type1afm
97  xglyph
98 share/t1lib/t1lib.config
99
100
101 [FILE:30:manifests/plist.docs]
102 share/t1lib/doc/t1lib_doc.pdf
103
104
105 [FILE:2992:patches/patch-configure]
106 --- configure.orig      2007-12-23 15:49:43 UTC
107 +++ configure
108 @@ -5330,7 +5330,7 @@ darwin* | rhapsody*)
109    lt_cv_deplibs_check_method=pass_all
110    ;;
111  
112 -freebsd* | kfreebsd*-gnu)
113 +freebsd* | dragonfly* | midnight*)
114    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
115      case $host_cpu in
116      i*86 )
117 @@ -8705,7 +8705,7 @@ if test -z "$aix_libpath"; then aix_libp
118        ;;
119  
120      # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
121 -    freebsd* | kfreebsd*-gnu)
122 +    freebsd* | dragonfly* | midnight*)
123        archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
124        hardcode_libdir_flag_spec='-R$libdir'
125        hardcode_direct=yes
126 @@ -9284,7 +9284,7 @@ kfreebsd*-gnu)
127    dynamic_linker='GNU ld.so'
128    ;;
129  
130 -freebsd*)
131 +freebsd* | dragonfly* | midnight*)
132    objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
133    version_type=freebsd-$objformat
134    case $version_type in
135 @@ -11641,7 +11641,7 @@ if test -z "$aix_libpath"; then aix_libp
136    freebsd-elf*)
137      archive_cmds_need_lc_CXX=no
138      ;;
139 -  freebsd* | kfreebsd*-gnu)
140 +  freebsd* | dragonfly* | midnight*)
141      # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
142      # conventions
143      ld_shlibs_CXX=yes
144 @@ -12389,7 +12389,7 @@ echo $ECHO_N "checking for $compiler opt
145             ;;
146         esac
147         ;;
148 -      freebsd* | kfreebsd*-gnu)
149 +      freebsd* | dragonfly* | midnight*)
150         # FreeBSD uses GNU C++
151         ;;
152        hpux9* | hpux10* | hpux11*)
153 @@ -13000,7 +13000,7 @@ kfreebsd*-gnu)
154    dynamic_linker='GNU ld.so'
155    ;;
156  
157 -freebsd*)
158 +freebsd* | dragonfly* | midnight*)
159    objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
160    version_type=freebsd-$objformat
161    case $version_type in
162 @@ -15581,7 +15581,7 @@ if test -z "$aix_libpath"; then aix_libp
163        ;;
164  
165      # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
166 -    freebsd* | kfreebsd*-gnu)
167 +    freebsd* | dragonfly* | midnight*)
168        archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
169        hardcode_libdir_flag_spec_F77='-R$libdir'
170        hardcode_direct_F77=yes
171 @@ -16160,7 +16160,7 @@ kfreebsd*-gnu)
172    dynamic_linker='GNU ld.so'
173    ;;
174  
175 -freebsd*)
176 +freebsd* | dragonfly* | midnight*)
177    objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
178    version_type=freebsd-$objformat
179    case $version_type in
180 @@ -17943,7 +17943,7 @@ if test -z "$aix_libpath"; then aix_libp
181        ;;
182  
183      # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
184 -    freebsd* | kfreebsd*-gnu)
185 +    freebsd* | dragonfly* | midnight*)
186        archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
187        hardcode_libdir_flag_spec_GCJ='-R$libdir'
188        hardcode_direct_GCJ=yes
189 @@ -18522,7 +18522,7 @@ kfreebsd*-gnu)
190    dynamic_linker='GNU ld.so'
191    ;;
192  
193 -freebsd*)
194 +freebsd*|dragonfly*|midnight*)
195    objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
196    version_type=freebsd-$objformat
197    case $version_type in
198
199
200 [FILE:762:patches/patch-lib_t1lib_parseAFM.c]
201 --- lib/t1lib/parseAFM.c.orig   2007-12-23 16:49:42.000000000 +0100
202 +++ lib/t1lib/parseAFM.c        2019-06-06 15:53:38.250925000 +0200
203 @@ -199,7 +199,7 @@
204      idx = 0;
205      
206      while (ch != EOF && ch != ' ' && ch != CR  && ch != LF &&
207 -          ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'){
208 +          ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';' && idx < (MAX_NAME - 1)){
209        ident[idx++] = ch;
210        ch = fgetc(stream);
211      } /* while */
212 @@ -235,7 +235,7 @@
213      while ((ch = fgetc(stream)) == ' ' || ch == '\t' ); 
214      
215      idx = 0;
216 -    while (ch != EOF && ch != CR  && ch != LF && ch != CTRL_Z) 
217 +    while (ch != EOF && ch != CR  && ch != LF && ch != CTRL_Z && idx < (MAX_NAME - 1)) 
218      {
219          ident[idx++] = ch;
220          ch = fgetc(stream);
221
222
223 [FILE:709:patches/patch-lib_type1_lines.c]
224 --- lib/type1/lines.c.orig      2007-12-23 16:49:42.000000000 +0100
225 +++ lib/type1/lines.c   2019-06-06 15:25:33.521481000 +0200
226 @@ -67,6 +67,10 @@
227  None.
228  */
229   
230 +#define  BITS         (sizeof(LONG)*8)
231 +#define  HIGHTEST(p)  (((p)>>(BITS-2)) != 0)  /* includes sign bit */
232 +#define  TOOBIG(xy)   ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy))
233 +
234  /*
235  :h2.StepLine() - Produces Run Ends for a Line After Checks
236   
237 @@ -84,6 +88,9 @@
238         IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n",
239                                              x1, y1, x2, y2);
240   
241 +      if (TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2))
242 +              abort("Lines this big not supported", 49);
243 +
244         dy = y2 - y1;
245   
246  /*
247
248
249 [FILE:624:patches/patch-lib_type1_objects.c]
250 --- lib/type1/objects.c.orig    2007-12-23 16:49:42.000000000 +0100
251 +++ lib/type1/objects.c 2019-06-06 15:23:45.191036000 +0200
252 @@ -1137,12 +1137,13 @@
253      "Context:  out of them", /* 46 */
254      "MatrixInvert:  can't", /* 47 */
255      "xiStub called", /* 48 */
256 -    "Illegal access type1 abort() message" /* 49 */
257 +    "Lines this big not supported", /* 49 */
258 +    "Illegal access type1 abort() message" /* 50 */
259    };
260  
261 -  /* no is valid from 1 to 48 */
262 -  if ( (number<1)||(number>48))
263 -    number=49;
264 +  /* no is valid from 1 to 49 */
265 +  if ( (number<1)||(number>49))
266 +    number=50;
267    return( err_msgs[number-1]);
268      
269  }
270
271
272 [FILE:3110:patches/patch-lib_type1_type1.c]
273 --- lib/type1/type1.c.orig      2007-12-23 16:49:42.000000000 +0100
274 +++ lib/type1/type1.c   2019-06-06 15:20:11.590036000 +0200
275 @@ -1012,6 +1012,7 @@
276    double nextdtana = 0.0;   /* tangent of post-delta against horizontal line */ 
277    double nextdtanb = 0.0;   /* tangent of post-delta against vertical line */ 
278    
279 +  if (ppoints == NULL || numppoints < 1) Error0v("FindStems: No previous point!\n");
280   
281    /* setup default hinted position */
282    ppoints[numppoints-1].ax     = ppoints[numppoints-1].x;
283 @@ -1289,7 +1290,7 @@
284  static int DoRead(CodeP)
285    int *CodeP;
286  {
287 -  if (strindex >= CharStringP->len) return(FALSE); /* end of string */
288 +  if (!CharStringP || strindex >= CharStringP->len) return(FALSE); /* end of string */
289    /* We handle the non-documented Adobe convention to use lenIV=-1 to
290       suppress charstring encryption. */
291    if (blues->lenIV==-1) {
292 @@ -1700,6 +1701,7 @@
293    long pindex = 0;
294    
295    /* compute hinting for previous segment! */
296 +  if (ppoints == NULL || numppoints < 2 ) Error0i("RLineTo: No previous point!\n");
297    FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy);
298  
299    /* Allocate a new path point and pre-setup data */
300 @@ -1728,6 +1730,7 @@
301    long pindex = 0;
302    
303    /* compute hinting for previous point! */
304 +  if (ppoints == NULL || numppoints < 2) Error0i("RRCurveTo: No previous point!\n");
305    FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1);
306  
307    /* Allocate three new path points and pre-setup data */
308 @@ -1786,7 +1789,9 @@
309    long tmpind;
310    double deltax = 0.0;
311    double deltay = 0.0;
312 -  
313
314 +  if (ppoints == NULL || numppoints < 1) Error0i("DoClosePath: No previous point!");
315
316    /* If this ClosePath command together with the starting point of this
317       path completes to a segment aligned to a stem, we would miss
318       hinting for this point. --> Check and explicitly care for this! */
319 @@ -1801,6 +1806,7 @@
320      deltax = ppoints[i].x - ppoints[numppoints-1].x;
321      deltay = ppoints[i].y - ppoints[numppoints-1].y;
322  
323 +    if (ppoints == NULL || numppoints <= i + 1) Error0i("DoClosePath: No previous point!");
324      /* save nummppoints and reset to move point */
325      tmpind = numppoints;
326      numppoints = i + 1;
327 @@ -1903,6 +1909,7 @@
328      FindStems( currx, curry, 0, 0, dx, dy);
329    }
330    else {
331 +    if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n");
332      FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy);
333    }
334    
335 @@ -2152,6 +2159,7 @@
336    DOUBLE cx, cy;
337    DOUBLE ex, ey;
338  
339 +  if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!");
340  
341    /* Our PPOINT list now contains 7 moveto commands which
342       are about to be consumed by the Flex mechanism. --> Remove these
343 @@ -2321,6 +2329,7 @@
344  /*   Returns currentpoint on stack          */
345  static void FlxProc2()
346  {
347 +  if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!");
348    /* Push CurrentPoint on fake PostScript stack */
349    PSFakePush( ppoints[numppoints-1].x);
350    PSFakePush( ppoints[numppoints-1].y);
351