Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 653078 | Differences between
and this patch

Collapse All | Expand All

(-)a/dev-libs/libxml2/files/libxml2-2.9.8-catalogless-generated.patch (+498 lines)
Line 0 Link Here
1
Regeneration of libxml2.syms:
2
1. Apply libxml2-VERSION-catalogless.patch
3
2. Run xsltproc tool (provided by libxslt):
4
   xsltproc -o libxml2.syms doc/syms.xsl doc/symbols.xml
5
6
--- /libxml2.syms
7
+++ /libxml2.syms
8
@@ -1,18 +1,18 @@
9
 #
10
 # Officially exported symbols, for which header
11
-# file definitions are installed in /usr/include/libxml2
12
+# file definitions are installed in /usr/include/libxml2-catalogless
13
 #
14
 # Automatically generated from symbols.xml and syms.xsl
15
 #
16
 # Versions here are *fixed* to match the libxml2 version
17
 # at which the symbol was introduced. This ensures that
18
 # a new client app requiring symbol foo() can't accidentally
19
-# run with old libxml2.so not providing foo() - the global
20
+# run with old libxml2-catalogless.so not providing foo() - the global
21
 # soname version info can't enforce this since we never
22
 # change the soname
23
 #
24
 
25
-LIBXML2_2.4.30 {
26
+LIBXML2_CATALOGLESS_2.4.30 {
27
     global:
28
 
29
 # debugXML
30
@@ -1256,7 +1256,7 @@
31
   xmlUTF8Strsub;
32
 } ;
33
 
34
-LIBXML2_2.5.0 {
35
+LIBXML2_CATALOGLESS_2.5.0 {
36
     global:
37
 
38
 # globals
39
@@ -1293,9 +1293,9 @@
40
   xmlValidatePopElement;
41
   xmlValidatePushCData;
42
   xmlValidatePushElement;
43
-} LIBXML2_2.4.30;
44
+} LIBXML2_CATALOGLESS_2.4.30;
45
 
46
-LIBXML2_2.5.2 {
47
+LIBXML2_CATALOGLESS_2.5.2 {
48
     global:
49
 
50
 # tree
51
@@ -1329,9 +1329,9 @@
52
 
53
 # relaxng
54
 # xmlRelaxNGValidateStream; removed in 2.5.5
55
-} LIBXML2_2.5.0;
56
+} LIBXML2_CATALOGLESS_2.5.0;
57
 
58
-LIBXML2_2.5.4 {
59
+LIBXML2_CATALOGLESS_2.5.4 {
60
     global:
61
 
62
 # uri
63
@@ -1345,23 +1345,23 @@
64
   xmlValidateNCName;
65
   xmlValidateNMToken;
66
   xmlValidateQName;
67
-} LIBXML2_2.5.2;
68
+} LIBXML2_CATALOGLESS_2.5.2;
69
 
70
-LIBXML2_2.5.5 {
71
+LIBXML2_CATALOGLESS_2.5.5 {
72
     global:
73
 
74
 # nanoftp
75
   xmlNanoFTPDele;
76
-} LIBXML2_2.5.4;
77
+} LIBXML2_CATALOGLESS_2.5.4;
78
 
79
-LIBXML2_2.5.6 {
80
+LIBXML2_CATALOGLESS_2.5.6 {
81
     global:
82
 
83
 # xpath
84
   xmlXPathOrderDocElems;
85
-} LIBXML2_2.5.5;
86
+} LIBXML2_CATALOGLESS_2.5.5;
87
 
88
-LIBXML2_2.5.7 {
89
+LIBXML2_CATALOGLESS_2.5.7 {
90
     global:
91
 
92
 # HTMLparser
93
@@ -1396,9 +1396,9 @@
94
   xmlTextReaderNext;
95
   xmlTextReaderRelaxNGSetSchema;
96
   xmlTextReaderRelaxNGValidate;
97
-} LIBXML2_2.5.6;
98
+} LIBXML2_CATALOGLESS_2.5.6;
99
 
100
-LIBXML2_2.5.8 {
101
+LIBXML2_CATALOGLESS_2.5.8 {
102
     global:
103
 
104
 # globals
105
@@ -1456,9 +1456,9 @@
106
   xmlThrDefSetGenericErrorFunc;
107
   xmlThrDefSubstituteEntitiesDefaultValue;
108
   xmlThrDefTreeIndentString;
109
-} LIBXML2_2.5.7;
110
+} LIBXML2_CATALOGLESS_2.5.7;
111
 
112
-LIBXML2_2.5.9 {
113
+LIBXML2_CATALOGLESS_2.5.9 {
114
     global:
115
 
116
 # xmlmemory
117
@@ -1477,9 +1477,9 @@
118
 
119
 # xinclude
120
   xmlXIncludeProcessTree;
121
-} LIBXML2_2.5.8;
122
+} LIBXML2_CATALOGLESS_2.5.8;
123
 
124
-LIBXML2_2.6.0 {
125
+LIBXML2_CATALOGLESS_2.6.0 {
126
     global:
127
 
128
 # SAX2
129
@@ -1723,16 +1723,16 @@
130
 # xmlSAX2GlobalNamespace; removed in 2.6.10
131
 # xmlSAX2NamespaceDecl; removed in 2.6.10
132
 # xmlSAX2SetNamespace; removed in 2.6.10
133
-} LIBXML2_2.5.9;
134
+} LIBXML2_CATALOGLESS_2.5.9;
135
 
136
-LIBXML2_2.6.1 {
137
+LIBXML2_CATALOGLESS_2.6.1 {
138
     global:
139
 
140
 # parser
141
   xmlCtxtResetPush;
142
-} LIBXML2_2.6.0;
143
+} LIBXML2_CATALOGLESS_2.6.0;
144
 
145
-LIBXML2_2.6.2 {
146
+LIBXML2_CATALOGLESS_2.6.2 {
147
     global:
148
 
149
 # parserInternals
150
@@ -1748,9 +1748,9 @@
151
   xmlXIncludeFreeContext;
152
   xmlXIncludeNewContext;
153
   xmlXIncludeProcessNode;
154
-} LIBXML2_2.6.1;
155
+} LIBXML2_CATALOGLESS_2.6.1;
156
 
157
-LIBXML2_2.6.3 {
158
+LIBXML2_CATALOGLESS_2.6.3 {
159
     global:
160
 
161
 # pattern
162
@@ -1805,9 +1805,9 @@
163
   xmlXIncludeProcessFlags;
164
   xmlXIncludeProcessTreeFlags;
165
   xmlXIncludeSetFlags;
166
-} LIBXML2_2.6.2;
167
+} LIBXML2_CATALOGLESS_2.6.2;
168
 
169
-LIBXML2_2.6.5 {
170
+LIBXML2_CATALOGLESS_2.6.5 {
171
     global:
172
 
173
 # xmlmemory
174
@@ -1828,9 +1828,9 @@
175
 
176
 # xpath
177
   xmlXPathCtxtCompile;
178
-} LIBXML2_2.6.3;
179
+} LIBXML2_CATALOGLESS_2.6.3;
180
 
181
-LIBXML2_2.6.6 {
182
+LIBXML2_CATALOGLESS_2.6.6 {
183
     global:
184
 
185
 # tree
186
@@ -1841,17 +1841,17 @@
187
 
188
 # xmlreader
189
   xmlTextReaderSetStructuredErrorHandler;
190
-} LIBXML2_2.6.5;
191
+} LIBXML2_CATALOGLESS_2.6.5;
192
 
193
-LIBXML2_2.6.7 {
194
+LIBXML2_CATALOGLESS_2.6.7 {
195
     global:
196
 
197
 # xmlwriter
198
   xmlTextWriterEndComment;
199
   xmlTextWriterStartComment;
200
-} LIBXML2_2.6.6;
201
+} LIBXML2_CATALOGLESS_2.6.6;
202
 
203
-LIBXML2_2.6.8 {
204
+LIBXML2_CATALOGLESS_2.6.8 {
205
     global:
206
 
207
 # xmlsave
208
@@ -1868,9 +1868,9 @@
209
   xmlTextWriterEndDTDElement;
210
   xmlTextWriterEndDTDEntity;
211
   xmlTextWriterWriteDTDExternalEntityContents;
212
-} LIBXML2_2.6.7;
213
+} LIBXML2_CATALOGLESS_2.6.7;
214
 
215
-LIBXML2_2.6.10 {
216
+LIBXML2_CATALOGLESS_2.6.10 {
217
     global:
218
 
219
 # xmlIO
220
@@ -1880,9 +1880,9 @@
221
 # xmlsave
222
   xmlSaveSetAttrEscape;
223
   xmlSaveSetEscape;
224
-} LIBXML2_2.6.8;
225
+} LIBXML2_CATALOGLESS_2.6.8;
226
 
227
-LIBXML2_2.6.11 {
228
+LIBXML2_CATALOGLESS_2.6.11 {
229
     global:
230
 
231
 # uri
232
@@ -1905,9 +1905,9 @@
233
   xmlSchemaGetBuiltInType;
234
   xmlSchemaIsBuiltInTypeFacet;
235
   xmlSchemaValidateListSimpleTypeFacet;
236
-} LIBXML2_2.6.10;
237
+} LIBXML2_CATALOGLESS_2.6.10;
238
 
239
-LIBXML2_2.6.12 {
240
+LIBXML2_CATALOGLESS_2.6.12 {
241
     global:
242
 
243
 # parser
244
@@ -1921,9 +1921,9 @@
245
 # xmlschemas
246
   xmlSchemaGetParserErrors;
247
   xmlSchemaGetValidErrors;
248
-} LIBXML2_2.6.11;
249
+} LIBXML2_CATALOGLESS_2.6.11;
250
 
251
-LIBXML2_2.6.14 {
252
+LIBXML2_CATALOGLESS_2.6.14 {
253
     global:
254
 
255
 # xmlautomata
256
@@ -1937,9 +1937,9 @@
257
   xmlSchemaSetValidOptions;
258
   xmlSchemaValidateOneElement;
259
   xmlSchemaValidCtxtGetOptions;
260
-} LIBXML2_2.6.12;
261
+} LIBXML2_CATALOGLESS_2.6.12;
262
 
263
-LIBXML2_2.6.15 {
264
+LIBXML2_CATALOGLESS_2.6.15 {
265
     global:
266
 
267
 # debugXML
268
@@ -1954,9 +1954,9 @@
269
   xmlTextReaderConstXmlVersion;
270
   xmlTextReaderIsNamespaceDecl;
271
   xmlTextReaderStandalone;
272
-} LIBXML2_2.6.14;
273
+} LIBXML2_CATALOGLESS_2.6.14;
274
 
275
-LIBXML2_2.6.16 {
276
+LIBXML2_CATALOGLESS_2.6.16 {
277
     global:
278
 
279
 # xmlmemory
280
@@ -1964,9 +1964,9 @@
281
 
282
 # relaxng
283
   xmlRelaxNGInitTypes;
284
-} LIBXML2_2.6.15;
285
+} LIBXML2_CATALOGLESS_2.6.15;
286
 
287
-LIBXML2_2.6.17 {
288
+LIBXML2_CATALOGLESS_2.6.17 {
289
     global:
290
 
291
 # dict
292
@@ -1988,9 +1988,9 @@
293
 # xmlreader
294
   xmlTextReaderGetParserColumnNumber;
295
   xmlTextReaderGetParserLineNumber;
296
-} LIBXML2_2.6.16;
297
+} LIBXML2_CATALOGLESS_2.6.16;
298
 
299
-LIBXML2_2.6.18 {
300
+LIBXML2_CATALOGLESS_2.6.18 {
301
     global:
302
 
303
 # valid
304
@@ -2023,18 +2023,18 @@
305
 
306
 # xmlreader
307
   xmlTextReaderByteConsumed;
308
-} LIBXML2_2.6.17;
309
+} LIBXML2_CATALOGLESS_2.6.17;
310
 
311
-LIBXML2_2.6.19 {
312
+LIBXML2_CATALOGLESS_2.6.19 {
313
     global:
314
 
315
 # xmlschemastypes
316
   xmlSchemaGetValType;
317
   xmlSchemaValidateFacetWhtsp;
318
   xmlSchemaValidateLengthFacetWhtsp;
319
-} LIBXML2_2.6.18;
320
+} LIBXML2_CATALOGLESS_2.6.18;
321
 
322
-LIBXML2_2.6.20 {
323
+LIBXML2_CATALOGLESS_2.6.20 {
324
     global:
325
 
326
 # tree
327
@@ -2061,9 +2061,9 @@
328
 # xmlreader
329
   xmlTextReaderSchemaValidate;
330
   xmlTextReaderSetSchema;
331
-} LIBXML2_2.6.19;
332
+} LIBXML2_CATALOGLESS_2.6.19;
333
 
334
-LIBXML2_2.6.21 {
335
+LIBXML2_CATALOGLESS_2.6.21 {
336
     global:
337
 
338
 # xmlautomata
339
@@ -2117,9 +2117,9 @@
340
   xmlSchematronNewValidCtxt;
341
   xmlSchematronParse;
342
   xmlSchematronValidateDoc;
343
-} LIBXML2_2.6.20;
344
+} LIBXML2_CATALOGLESS_2.6.20;
345
 
346
-LIBXML2_2.6.23 {
347
+LIBXML2_CATALOGLESS_2.6.23 {
348
     global:
349
 
350
 # HTMLtree
351
@@ -2141,9 +2141,9 @@
352
 
353
 # xmlreader
354
   xmlTextReaderSchemaValidateCtxt;
355
-} LIBXML2_2.6.21;
356
+} LIBXML2_CATALOGLESS_2.6.21;
357
 
358
-LIBXML2_2.6.24 {
359
+LIBXML2_CATALOGLESS_2.6.24 {
360
     global:
361
 
362
 # tree
363
@@ -2151,16 +2151,16 @@
364
 
365
 # relaxng
366
   xmlRelaxNGSetParserStructuredErrors;
367
-} LIBXML2_2.6.23;
368
+} LIBXML2_CATALOGLESS_2.6.23;
369
 
370
-LIBXML2_2.6.25 {
371
+LIBXML2_CATALOGLESS_2.6.25 {
372
     global:
373
 
374
 # xpath
375
   xmlXPathContextSetCache;
376
-} LIBXML2_2.6.24;
377
+} LIBXML2_CATALOGLESS_2.6.24;
378
 
379
-LIBXML2_2.6.27 {
380
+LIBXML2_CATALOGLESS_2.6.27 {
381
     global:
382
 
383
 # HTMLparser
384
@@ -2174,30 +2174,30 @@
385
 
386
 # xpath
387
   xmlXPathCompiledEvalToBoolean;
388
-} LIBXML2_2.6.25;
389
+} LIBXML2_CATALOGLESS_2.6.25;
390
 
391
-LIBXML2_2.6.28 {
392
+LIBXML2_CATALOGLESS_2.6.28 {
393
     global:
394
 
395
 # xmlreader
396
   xmlTextReaderSetup;
397
-} LIBXML2_2.6.27;
398
+} LIBXML2_CATALOGLESS_2.6.27;
399
 
400
-LIBXML2_2.6.29 {
401
+LIBXML2_CATALOGLESS_2.6.29 {
402
     global:
403
 
404
 # threads
405
   xmlDllMain;
406
-} LIBXML2_2.6.28;
407
+} LIBXML2_CATALOGLESS_2.6.28;
408
 
409
-LIBXML2_2.6.32 {
410
+LIBXML2_CATALOGLESS_2.6.32 {
411
     global:
412
 
413
 # schematron
414
   xmlSchematronSetValidStructuredErrors;
415
-} LIBXML2_2.6.29;
416
+} LIBXML2_CATALOGLESS_2.6.29;
417
 
418
-LIBXML2_2.7.0 {
419
+LIBXML2_CATALOGLESS_2.7.0 {
420
     global:
421
 
422
 # xmlmemory
423
@@ -2208,9 +2208,9 @@
424
 
425
 # xmlschemas
426
   xmlSchemaValidCtxtGetParserCtxt;
427
-} LIBXML2_2.6.32;
428
+} LIBXML2_CATALOGLESS_2.6.32;
429
 
430
-LIBXML2_2.7.3 {
431
+LIBXML2_CATALOGLESS_2.7.3 {
432
     global:
433
 
434
 # tree
435
@@ -2219,9 +2219,9 @@
436
   xmlLastElementChild;
437
   xmlNextElementSibling;
438
   xmlPreviousElementSibling;
439
-} LIBXML2_2.7.0;
440
+} LIBXML2_CATALOGLESS_2.7.0;
441
 
442
-LIBXML2_2.7.4 {
443
+LIBXML2_CATALOGLESS_2.7.4 {
444
     global:
445
 
446
 # globals
447
@@ -2229,9 +2229,9 @@
448
 
449
 # xinclude
450
   xmlXIncludeProcessTreeFlagsData;
451
-} LIBXML2_2.7.3;
452
+} LIBXML2_CATALOGLESS_2.7.3;
453
 
454
-LIBXML2_2.8.0 {
455
+LIBXML2_CATALOGLESS_2.8.0 {
456
     global:
457
 
458
 # xmlreader
459
@@ -2242,9 +2242,9 @@
460
 
461
 # dict
462
   xmlInitializeDict;
463
-} LIBXML2_2.7.4;
464
+} LIBXML2_CATALOGLESS_2.7.4;
465
 
466
-LIBXML2_2.9.0 {
467
+LIBXML2_CATALOGLESS_2.9.0 {
468
     global:
469
 
470
 # tree
471
@@ -2269,13 +2269,24 @@
472
 
473
 # xmlwriter
474
   xmlTextWriterSetQuoteChar;
475
-} LIBXML2_2.8.0;
476
+} LIBXML2_CATALOGLESS_2.8.0;
477
 
478
-LIBXML2_2.9.1 {
479
+LIBXML2_CATALOGLESS_2.9.1 {
480
     global:
481
 
482
 # xpath
483
   xmlXPathNodeEval;
484
   xmlXPathSetContextNode;
485
-} LIBXML2_2.9.0;
486
+} LIBXML2_CATALOGLESS_2.9.0;
487
 
488
+LIBXML2_CATALOGLESS_2.9.8 {
489
+    global:
490
+
491
+# hash
492
+  xmlHashDefaultDeallocator;
493
+} LIBXML2_CATALOGLESS_2.9.1;
494
+
495
+LIBXML2_CATALOGLESS {
496
+    global:
497
+  *;
498
+};
(-)a/dev-libs/libxml2/files/libxml2-2.9.8-catalogless.patch (+381 lines)
Line 0 Link Here
1
Install version of libxml2 without support for XML catalogs.
2
3
libxml2.so library is renamed to libxml2-catalogless.so.
4
Versions of global defined symbols are renamed from LIBXML2* to LIBXML2_CATALOGLESS*.
5
6
xmlcatalog executable is not built.
7
xmllint executable is built, but is not installed.
8
9
xml2-config script is renamed to xml2-catalogless-config.
10
libxml2 cmake module is renamed to libxml2-catalogless.
11
libxml-2.0.pc pkg-config file is renamed to libxml-2.0-catalogless.pc.
12
xml2Conf.sh file is renamed to xml2CataloglessConf.sh.
13
14
Location of installed headers is renamed from ${includedir}/libxml2/libxml to ${includedir}/libxml2-catalogless/libxml
15
due to content of xmlversion.h header being dependent on presence of support for XML catalogs.
16
17
--- /Makefile.am
18
+++ /Makefile.am
19
@@ -15,12 +15,12 @@
20
                testReader testapi testModule runtest runsuite testchar \
21
 	       testdict runxmlconf testrecurse testlimits
22
 
23
-bin_PROGRAMS = xmllint xmlcatalog
24
+noinst_PROGRAMS = xmllint
25
 
26
-bin_SCRIPTS=xml2-config
27
+bin_SCRIPTS=xml2-catalogless-config
28
 
29
-lib_LTLIBRARIES = libxml2.la
30
-libxml2_la_LIBADD = $(ICU_LIBS) $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
31
+lib_LTLIBRARIES = libxml2-catalogless.la
32
+libxml2_catalogless_la_LIBADD = $(ICU_LIBS) $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
33
 
34
 if USE_VERSION_SCRIPT
35
 LIBXML2_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms
36
@@ -28,7 +28,7 @@
37
 LIBXML2_VERSION_SCRIPT =
38
 endif
39
 
40
-libxml2_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) \
41
+libxml2_catalogless_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) \
42
 		     $(LIBXML2_VERSION_SCRIPT) \
43
 		     -version-info $(LIBXML_VERSION_INFO) \
44
 		     $(MODULE_PLATFORM_LIBS)
45
@@ -45,7 +45,7 @@
46
 trio_sources =
47
 endif
48
 
49
-libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
50
+libxml2_catalogless_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
51
 		parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
52
 		valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
53
 		xpointer.c xinclude.c nanohttp.c nanoftp.c \
54
@@ -57,8 +57,8 @@
55
 		xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c \
56
 		xmlmodule.c schematron.c xzlib.c
57
 
58
-DEPS = $(top_builddir)/libxml2.la
59
-LDADDS = $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
60
+DEPS = $(top_builddir)/libxml2-catalogless.la
61
+LDADDS = $(STATIC_BINARIES) $(top_builddir)/libxml2-catalogless.la $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
62
 
63
 
64
 man_MANS = xml2-config.1 libxml.3
65
@@ -111,11 +111,6 @@
66
 testHTML_DEPENDENCIES = $(DEPS)
67
 testHTML_LDADD= $(LDADDS)
68
 
69
-xmlcatalog_SOURCES=xmlcatalog.c
70
-xmlcatalog_LDFLAGS = 
71
-xmlcatalog_DEPENDENCIES = $(DEPS)
72
-xmlcatalog_LDADD = $(RDL_LIBS) $(LDADDS)
73
-
74
 testXPath_SOURCES=testXPath.c
75
 testXPath_LDFLAGS = 
76
 testXPath_DEPENDENCIES = $(DEPS)
77
@@ -668,7 +663,9 @@
78
 	      rm result.$$name result.$$name.err ; \
79
 	  fi ; fi ; done)
80
 
81
-Catatests : xmlcatalog$(EXEEXT)
82
+Catatests :
83
+	@echo "## Catalog support disabled"
84
+	@false
85
 	@(echo > .memdump)
86
 	@echo "## Catalog regression tests"
87
 	-@(for i in $(srcdir)/test/catalogs/*.script ; do \
88
@@ -1224,25 +1221,25 @@
89
 rpm: cleanup cleantar
90
 	@(unset CDPATH ; $(MAKE) dist-source dist && rpmbuild -ta $(distdir).tar.gz)
91
 
92
-## We create xml2Conf.sh here and not from configure because we want
93
+## We create xml2CataloglessConf.sh here and not from configure because we want
94
 ## to get the paths expanded correctly.  Macros like srcdir are given
95
 ## the value NONE in configure if the user doesn't specify them (this
96
 ## is an autoconf feature, not a bug).
97
 
98
-xml2Conf.sh: xml2Conf.sh.in Makefile
99
+xml2CataloglessConf.sh: xml2Conf.sh.in Makefile
100
 ## Use sed and then mv to avoid problems if the user interrupts.
101
 	sed -e 's?\@XML_LIBDIR\@?$(XML_LIBDIR)?g' \
102
 	    -e 's?\@XML_INCLUDEDIR\@?$(XML_INCLUDEDIR)?g' \
103
 	    -e 's?\@VERSION\@?$(VERSION)?g' \
104
 	    -e 's?\@XML_LIBS\@?$(XML_LIBS)?g' \
105
 	       < $(srcdir)/xml2Conf.sh.in > xml2Conf.tmp \
106
-	&& mv xml2Conf.tmp xml2Conf.sh
107
+	&& mv xml2Conf.tmp xml2CataloglessConf.sh
108
 
109
-CLEANFILES = runxmlconf.log test.out xml2Conf.sh *.gcda *.gcno *.res
110
+CLEANFILES = runxmlconf.log test.out xml2CataloglessConf.sh *.gcda *.gcno *.res
111
 DISTCLEANFILES = COPYING missing.lst
112
 
113
 confexecdir=$(libdir)
114
-confexec_DATA = xml2Conf.sh
115
+confexec_DATA = xml2CataloglessConf.sh
116
 CVS_EXTRA_DIST=
117
 EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
118
              libxml.m4 Copyright check-xml-test-suite.py gentest.py \
119
@@ -1261,10 +1258,10 @@
120
 
121
 
122
 pkgconfigdir = $(libdir)/pkgconfig
123
-pkgconfig_DATA = libxml-2.0.pc
124
+pkgconfig_DATA = libxml-2.0-catalogless.pc
125
 
126
-cmakedir = $(libdir)/cmake/libxml2
127
-cmake_DATA = libxml2-config.cmake
128
+cmakedir = $(libdir)/cmake/libxml2-catalogless
129
+cmake_DATA = libxml2-catalogless-config.cmake
130
 
131
 #
132
 # Install the tests program sources as examples 
133
@@ -1292,7 +1289,7 @@
134
 	rm -rf $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
135
 
136
 tst: tst.c
137
-	$(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz -llzma
138
+	$(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2-catalogless.a -lpthread -lm -lz -llzma
139
 
140
 sparse: clean
141
 	$(MAKE) CC=cgcc
142
--- /configure.ac
143
+++ /configure.ac
144
@@ -103,8 +103,6 @@
145
 
146
 AC_ARG_WITH(c14n,
147
 [  --with-c14n             add the Canonicalization support (on)])
148
-AC_ARG_WITH(catalog,
149
-[  --with-catalog          add the Catalog support (on)])
150
 AC_ARG_WITH(debug,
151
 [  --with-debug            add the debugging module (on)])
152
 AC_ARG_WITH(docbook,
153
@@ -248,10 +246,6 @@
154
     then
155
       with_c14n=no
156
     fi
157
-    if test "$with_catalog" = ""
158
-    then
159
-      with_catalog=no
160
-    fi
161
     echo So far so good!
162
     if test "$with_debug" = ""
163
     then
164
@@ -733,7 +727,7 @@
165
   [AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there])]))
166
 
167
 XML_LIBDIR='-L${libdir}'
168
-XML_INCLUDEDIR='-I${includedir}/libxml2'
169
+XML_INCLUDEDIR='-I${includedir}/libxml2-catalogless'
170
 
171
 dnl
172
 dnl Extra flags
173
@@ -1269,16 +1263,10 @@
174
 AC_SUBST(TEST_VALID)
175
 AC_SUBST(TEST_VTIME)
176
 
177
-if test "$with_catalog" = "no" ; then
178
-    echo Disabling Catalog support
179
-    WITH_CATALOG=0
180
-    CATALOG_OBJ=
181
-    TEST_CATALOG=
182
-else    
183
-    WITH_CATALOG=1
184
-    CATALOG_OBJ="catalog.o"
185
-    TEST_CATALOG=Catatests
186
-fi
187
+echo Disabling Catalog support
188
+WITH_CATALOG=0
189
+CATALOG_OBJ=
190
+TEST_CATALOG=
191
 AC_SUBST(WITH_CATALOG)
192
 AC_SUBST(CATALOG_OBJ)
193
 AC_SUBST(TEST_CATALOG)
194
@@ -1533,8 +1521,8 @@
195
         WITH_ICU=1
196
     fi
197
 fi
198
-XML_LIBS="-lxml2 $Z_LIBS $LZMA_LIBS $THREAD_LIBS $ICONV_LIBS $ICU_LIBS $M_LIBS $LIBS"
199
-XML_LIBTOOLLIBS="libxml2.la"
200
+XML_LIBS="-lxml2-catalogless $Z_LIBS $LZMA_LIBS $THREAD_LIBS $ICONV_LIBS $ICU_LIBS $M_LIBS $LIBS"
201
+XML_LIBTOOLLIBS="libxml2-catalogless.la"
202
 AC_SUBST(WITH_ICU)
203
 
204
 WITH_ISO8859X=1
205
@@ -1695,9 +1683,9 @@
206
 ln -s $srcdir/Copyright COPYING
207
 
208
 # keep on one line for cygwin c.f. #130896
209
-AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h libxml-2.0.pc libxml-2.0-uninstalled.pc libxml2-config.cmake])
210
+AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h libxml-2.0-catalogless.pc:libxml-2.0.pc.in libxml-2.0-catalogless-uninstalled.pc:libxml-2.0-uninstalled.pc.in libxml2-catalogless-config.cmake:libxml2-config.cmake.in])
211
 AC_CONFIG_FILES([python/setup.py], [chmod +x python/setup.py])
212
-AC_CONFIG_FILES([xml2-config], [chmod +x xml2-config])
213
+AC_CONFIG_FILES([xml2-catalogless-config:xml2-config.in], [chmod +x xml2-catalogless-config])
214
 AC_OUTPUT
215
 
216
 echo Done configuring
217
--- /doc/examples/Makefile.am
218
+++ /doc/examples/Makefile.am
219
@@ -5,7 +5,7 @@
220
 
221
 AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include
222
 AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS)
223
-LDADD = $(RDL_LIBS) $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
224
+LDADD = $(RDL_LIBS) $(STATIC_BINARIES) $(top_builddir)/libxml2-catalogless.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
225
 
226
 CLEANFILES = *.tmp
227
 
228
--- /doc/examples/index.py
229
+++ /doc/examples/index.py
230
@@ -227,7 +227,7 @@
231
 
232
 AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include
233
 AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS)
234
-LDADD = $(RDL_LIBS) $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
235
+LDADD = $(RDL_LIBS) $(STATIC_BINARIES) $(top_builddir)/libxml2-catalogless.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
236
 
237
 CLEANFILES = *.tmp
238
 
239
--- /doc/syms.xsl
240
+++ /doc/syms.xsl
241
@@ -8,26 +8,31 @@
242
   <xsl:template match="/">
243
     <xsl:text>#
244
 # Officially exported symbols, for which header
245
-# file definitions are installed in /usr/include/libxml2
246
+# file definitions are installed in /usr/include/libxml2-catalogless
247
 #
248
 # Automatically generated from symbols.xml and syms.xsl
249
 #
250
 # Versions here are *fixed* to match the libxml2 version
251
 # at which the symbol was introduced. This ensures that
252
 # a new client app requiring symbol foo() can't accidentally
253
-# run with old libxml2.so not providing foo() - the global
254
+# run with old libxml2-catalogless.so not providing foo() - the global
255
 # soname version info can't enforce this since we never
256
 # change the soname
257
 #
258
 
259
 </xsl:text>
260
     <xsl:apply-templates select="/symbols/release"/>
261
+    <xsl:text>LIBXML2_CATALOGLESS {
262
+    global:
263
+  *;
264
+};
265
+</xsl:text>
266
   </xsl:template>
267
 
268
   <xsl:template match="release">
269
     <xsl:variable name="prev"
270
                   select="preceding-sibling::release[position()=1]"/>
271
-    <xsl:text>LIBXML2_</xsl:text>
272
+    <xsl:text>LIBXML2_CATALOGLESS_</xsl:text>
273
     <xsl:value-of select="string(@version)"/>
274
     <xsl:text> {
275
     global:
276
@@ -46,7 +51,7 @@
277
 
278
     <xsl:text>} </xsl:text>
279
     <xsl:if test="$prev">
280
-      <xsl:text>LIBXML2_</xsl:text>
281
+      <xsl:text>LIBXML2_CATALOGLESS_</xsl:text>
282
       <xsl:value-of select="$prev/@version"/>
283
     </xsl:if>
284
     <xsl:text>;
285
--- /example/Makefile.am
286
+++ /example/Makefile.am
287
@@ -2,6 +2,6 @@
288
 
289
 AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include
290
 AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS)
291
-LDADD = $(RDL_LIBS) $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
292
+LDADD = $(RDL_LIBS) $(STATIC_BINARIES) $(top_builddir)/libxml2-catalogless.la $(THREAD_LIBS) $(Z_LIBS) $(ICONV_LIBS) -lm $(WIN32_EXTRA_LIBADD)
293
 
294
 gjobread_SOURCES=gjobread.c
295
--- /include/libxml/Makefile.am
296
+++ /include/libxml/Makefile.am
297
@@ -1,6 +1,6 @@
298
 ## Process this file with automake to produce Makefile.in
299
 
300
-xmlincdir = $(includedir)/libxml2/libxml
301
+xmlincdir = $(includedir)/libxml2-catalogless/libxml
302
 
303
 xmlinc_HEADERS = \
304
 		SAX.h \
305
--- /libxml-2.0-uninstalled.pc.in
306
+++ /libxml-2.0-uninstalled.pc.in
307
@@ -4,9 +4,9 @@
308
 includedir=${pcfiledir}/include
309
 
310
 
311
-Name: libXML
312
+Name: libXML-catalogless
313
 Version: @VERSION@
314
-Description: libXML library version2.
315
+Description: libXML library version2 without Catalog support.
316
 Requires:
317
-Libs: -L${libdir} -lxml2 @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
318
+Libs: -L${libdir} -lxml2-catalogless @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
319
 Cflags: -I${includedir} @XML_INCLUDEDIR@ @XML_CFLAGS@
320
--- /libxml-2.0.pc.in
321
+++ /libxml-2.0.pc.in
322
@@ -4,10 +4,10 @@
323
 includedir=@includedir@
324
 modules=@WITH_MODULES@
325
 
326
-Name: libXML
327
+Name: libXML-catalogless
328
 Version: @VERSION@
329
-Description: libXML library version2.
330
+Description: libXML library version2 without Catalog support.
331
 Requires:
332
-Libs: -L${libdir} -lxml2
333
+Libs: -L${libdir} -lxml2-catalogless
334
 Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
335
 Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@
336
--- /libxml2-config.cmake.in
337
+++ /libxml2-config.cmake.in
338
@@ -1,7 +1,7 @@
339
-# libxml2-config.cmake
340
+# libxml2-catalogless-config.cmake
341
 # --------------------
342
 #
343
-# Libxml2 cmake module.
344
+# Libxml2-catalogless cmake module.
345
 # THis module sets the following variables:
346
 #
347
 # ::
348
@@ -21,9 +21,9 @@
349
 set(LIBXML2_VERSION_MICRO  @LIBXML_MICRO_VERSION@)
350
 set(LIBXML2_VERSION_STRING "@VERSION@")
351
 set(LIBXML2_INSTALL_PREFIX ${_libxml2_rootdir})
352
-set(LIBXML2_INCLUDE_DIRS   ${_libxml2_rootdir}/include ${_libxml2_rootdir}/include/libxml2)
353
+set(LIBXML2_INCLUDE_DIRS   ${_libxml2_rootdir}/include ${_libxml2_rootdir}/include/libxml2-catalogless)
354
 set(LIBXML2_LIBRARY_DIR    ${_libxml2_rootdir}/lib)
355
-set(LIBXML2_LIBRARIES      -L${LIBXML2_LIBRARY_DIR} -lxml2)
356
+set(LIBXML2_LIBRARIES      -L${LIBXML2_LIBRARY_DIR} -lxml2-catalogless)
357
 
358
 if(@WITH_THREADS@)
359
   find_package(Threads REQUIRED)
360
--- /python/Makefile.am
361
+++ /python/Makefile.am
362
@@ -25,7 +25,7 @@
363
 
364
 libxml2mod_la_SOURCES = libxml.c libxml_wrap.h libxml2-py.h libxml2-py.c types.c
365
 libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version \
366
-        $(top_builddir)/libxml2.la $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS)
367
+        $(top_builddir)/libxml2-catalogless.la $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS)
368
 
369
 BUILT_SOURCES = libxml2-export.c libxml2-py.h libxml2-py.c
370
 
371
--- /xml2-config.in
372
+++ /xml2-config.in
373
@@ -8,7 +8,7 @@
374
 usage()
375
 {
376
     cat <<EOF
377
-Usage: xml2-config [OPTION]
378
+Usage: xml2-catalogless-config [OPTION]
379
 
380
 Known values for OPTION are:
381
 
(-)a/dev-libs/libxml2/libxml2-2.9.8-r1.ebuild (+247 lines)
Line 0 Link Here
1
# Copyright 1999-2018 Gentoo Foundation
2
# Distributed under the terms of the GNU General Public License v2
3
4
EAPI=6
5
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
6
PYTHON_REQ_USE="xml"
7
8
inherit libtool flag-o-matic ltprune python-r1 autotools prefix multilib-minimal
9
10
DESCRIPTION="XML C parser and toolkit"
11
HOMEPAGE="http://www.xmlsoft.org/"
12
13
LICENSE="MIT"
14
SLOT="2"
15
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
16
IUSE="catalogless debug examples icu ipv6 lzma python readline static-libs test"
17
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
18
19
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
20
XSTS_NAME_1="xmlschema2002-01-16"
21
XSTS_NAME_2="xmlschema2004-01-14"
22
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
23
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
24
XMLCONF_TARBALL="xmlts20080827.tar.gz"
25
26
SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
27
	test? (
28
		${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
29
		${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
30
		http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
31
32
RDEPEND="
33
	>=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
34
	icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
35
	lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
36
	python? ( ${PYTHON_DEPS} )
37
	readline? ( sys-libs/readline:= )
38
"
39
DEPEND="${RDEPEND}
40
	dev-util/gtk-doc-am
41
	virtual/pkgconfig
42
	hppa? ( >=sys-devel/binutils-2.15.92.0.2 )
43
"
44
45
S="${WORKDIR}/${PN}-${PV%_rc*}"
46
47
pkg_setup() {
48
	MULTILIB_CHOST_TOOLS=(
49
		/usr/bin/xml2-config
50
		$(usex catalogless /usr/bin/xml2-catalogless-config "")
51
	)
52
}
53
54
src_unpack() {
55
	# ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
56
	# as they are needed as tarballs in ${S}/xstc instead and not unpacked
57
	unpack ${P/_rc/-rc}.tar.gz
58
	cd "${S}" || die
59
60
	if use test; then
61
		cp "${DISTDIR}/${XSTS_TARBALL_1}" \
62
			"${DISTDIR}/${XSTS_TARBALL_2}" \
63
			"${S}"/xstc/ \
64
			|| die "Failed to install test tarballs"
65
		unpack ${XMLCONF_TARBALL}
66
	fi
67
}
68
69
src_prepare() {
70
	default
71
72
	DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
73
74
	# Patches needed for prefix support
75
	eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
76
77
	eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
78
79
	# Fix python detection, bug #567066
80
	# https://bugzilla.gnome.org/show_bug.cgi?id=760458
81
	eapply "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
82
83
	# Avoid final linking arguments for python modules
84
	if [[ ${CHOST} == *-darwin* ]] ; then
85
		sed -i -e '/PYTHON_LIBS/s/ldflags/libs/' configure.ac || die
86
	fi
87
88
	if use catalogless; then
89
		cp -pr "${S}" "${S}-catalogless" || die
90
	fi
91
92
	# Please do not remove, as else we get references to PORTAGE_TMPDIR
93
	# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
94
	# We now need to run eautoreconf at the end to prevent maintainer mode.
95
#	elibtoolize
96
#	epunt_cxx # if we don't eautoreconf
97
98
	eautoreconf
99
100
	if use catalogless; then
101
		pushd "${S}-catalogless" > /dev/null || die
102
		eapply "${FILESDIR}"/${P}-catalogless.patch
103
		eapply "${FILESDIR}"/${P}-catalogless-generated.patch
104
		eautoreconf
105
		popd > /dev/null || die
106
	fi
107
}
108
109
multilib_src_configure() {
110
	# filter seemingly problematic CFLAGS (#26320)
111
	filter-flags -fprefetch-loop-arrays -funroll-loops
112
113
	# USE zlib support breaks gnome2
114
	# (libgnomeprint for instance fails to compile with
115
	# fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
116
117
	# The meaning of the 'debug' USE flag does not apply to the --with-debug
118
	# switch (enabling the libxml2 debug module). See bug #100898.
119
120
	# --with-mem-debug causes unusual segmentation faults (bug #105120).
121
122
	libxml2_configure() {
123
		ECONF_SOURCE="${ECONF_SOURCE-${S}}" econf \
124
			--with-html-subdir=${PF}/html \
125
			$(use_with debug run-debug) \
126
			$(use_with icu) \
127
			$(use_with lzma) \
128
			$(use_enable ipv6) \
129
			$(use_enable static-libs static) \
130
			$(multilib_native_use_with readline) \
131
			$(multilib_native_use_with readline history) \
132
			"$@"
133
	}
134
135
	libxml2_py_configure() {
136
		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
137
		run_in_build_dir libxml2_configure "--with-python=${ROOT%/}${PYTHON}" # odd build system, also see bug #582130
138
	}
139
140
	libxml2_configure --without-python # build python bindings separately
141
142
	if use catalogless; then
143
		mkdir -p "$(pwd)-catalogless" || die
144
		pushd "$(pwd)-catalogless" > /dev/null || die
145
		ECONF_SOURCE="${S}-catalogless" libxml2_configure --without-python
146
		popd > /dev/null || die
147
	fi
148
149
	if multilib_is_native_abi && use python; then
150
		python_foreach_impl libxml2_py_configure
151
	fi
152
}
153
154
multilib_src_compile() {
155
	default
156
157
	if use catalogless; then
158
		pushd "$(pwd)-catalogless" > /dev/null || die
159
		default
160
		popd > /dev/null || die
161
	fi
162
163
	if multilib_is_native_abi && use python; then
164
		local native_builddir=${BUILD_DIR}
165
		python_foreach_impl libxml2_py_emake top_builddir="${native_builddir}" all
166
	fi
167
}
168
169
multilib_src_test() {
170
	emake check
171
172
	if use catalogless; then
173
		pushd "$(pwd)-catalogless" > /dev/null || die
174
		emake check
175
		popd > /dev/null || die
176
	fi
177
178
	multilib_is_native_abi && use python && python_foreach_impl libxml2_py_emake test
179
}
180
181
multilib_src_install() {
182
	emake DESTDIR="${D}" \
183
		EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install
184
185
	if use catalogless; then
186
		pushd "$(pwd)-catalogless" > /dev/null || die
187
		emake DESTDIR="${D}" \
188
			EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install
189
		popd > /dev/null || die
190
	fi
191
192
	if multilib_is_native_abi && use python; then
193
		python_foreach_impl libxml2_py_emake \
194
			DESTDIR="${D}" \
195
			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
196
			exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
197
			install
198
		python_foreach_impl python_optimize
199
	fi
200
}
201
202
multilib_src_install_all() {
203
	# on windows, xmllint is installed by interix libxml2 in parent prefix.
204
	# this is the version to use. the native winnt version does not support
205
	# symlinks, which makes repoman fail if the portage tree is linked in
206
	# from another location (which is my default). -- mduft
207
	if [[ ${CHOST} == *-winnt* ]]; then
208
		rm -rf "${ED}"/usr/bin/xmllint
209
		rm -rf "${ED}"/usr/bin/xmlcatalog
210
	fi
211
212
	rm -rf "${ED}"/usr/share/doc/${P}
213
	einstalldocs
214
215
	if ! use examples; then
216
		rm -rf "${ED}"/usr/share/doc/${PF}/examples
217
		rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
218
	fi
219
220
	prune_libtool_files --modules
221
}
222
223
pkg_postinst() {
224
	# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
225
	# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
226
	if [[ "${ROOT}" != "/" ]]; then
227
		elog "Skipping XML catalog creation for stage building (bug #208887)."
228
	else
229
		# need an XML catalog, so no-one writes to a non-existent one
230
		CATALOG="${EROOT}etc/xml/catalog"
231
232
		# we dont want to clobber an existing catalog though,
233
		# only ensure that one is there
234
		# <obz@gentoo.org>
235
		if [[ ! -e ${CATALOG} ]]; then
236
			[[ -d "${EROOT}etc/xml" ]] || mkdir -p "${EROOT}etc/xml"
237
			"${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
238
			einfo "Created XML catalog in ${CATALOG}"
239
		fi
240
	fi
241
}
242
243
libxml2_py_emake() {
244
	pushd "${BUILD_DIR}/python" > /dev/null || die
245
	emake "$@"
246
	popd > /dev/null
247
}
(-)a/dev-libs/libxml2/metadata.xml (-2 / +3 lines)
Lines 5-10 Link Here
5
    <email>gnome@gentoo.org</email>
5
    <email>gnome@gentoo.org</email>
6
    <name>Gentoo GNOME Desktop</name>
6
    <name>Gentoo GNOME Desktop</name>
7
  </maintainer>
7
  </maintainer>
8
  <use>
9
    <flag name="catalogless">Install additional version of libxml2 without support for XML catalogs</flag>
10
  </use>
8
  <upstream>
11
  <upstream>
9
    <remote-id type="cpe">cpe:/a:xmlsoft:libxml2</remote-id>
12
    <remote-id type="cpe">cpe:/a:xmlsoft:libxml2</remote-id>
10
  </upstream>
13
  </upstream>
11
- 
12
without support for XML catalogs.
14
without support for XML catalogs.
13
--
14
...libxslt-1.1.32-catalogless-generated.patch | 294 ++++++++++++++
15
...libxslt-1.1.32-catalogless-generated.patch | 294 ++++++++++++++
15
.../files/libxslt-1.1.32-catalogless.patch    | 378 ++++++++++++++++++
16
.../files/libxslt-1.1.32-catalogless.patch    | 378 ++++++++++++++++++
16
dev-libs/libxslt/libxslt-1.1.32-r1.ebuild     | 165 ++++++++
17
dev-libs/libxslt/libxslt-1.1.32-r1.ebuild     | 165 ++++++++
17
dev-libs/libxslt/metadata.xml                 |   3 +
18
dev-libs/libxslt/metadata.xml                 |   3 +
18
4 files changed, 840 insertions(+)
19
4 files changed, 840 insertions(+)
19
create mode 100644 dev-libs/libxslt/files/libxslt-1.1.32-catalogless-generated.patch
20
create mode 100644 dev-libs/libxslt/files/libxslt-1.1.32-catalogless-generated.patch
20
create mode 100644 dev-libs/libxslt/files/libxslt-1.1.32-catalogless.patch
21
create mode 100644 dev-libs/libxslt/files/libxslt-1.1.32-catalogless.patch
21
create mode 100644 dev-libs/libxslt/libxslt-1.1.32-r1.ebuild
22
create mode 100644 dev-libs/libxslt/libxslt-1.1.32-r1.ebuild
(-)a/dev-libs/libxslt/files/libxslt-1.1.32-catalogless-generated.patch (+294 lines)
Line 0 Link Here
1
Regeneration of libxslt/libxslt.syms:
2
1. Apply libxslt-VERSION-catalogless.patch
3
2. Run xsltproc tool (provided by libxslt):
4
   xsltproc -o libxslt/libxslt.syms doc/syms.xsl doc/symbols.xml
5
6
--- /libxslt/libxslt.syms
7
+++ /libxslt/libxslt.syms
8
@@ -7,12 +7,12 @@
9
 # Versions here are *fixed* to match the libxslt version
10
 # at which the symbol was introduced. This ensures that
11
 # a new client app requiring symbol foo() can't accidentally
12
-# run with old libxslt.so not providing foo() - the global
13
+# run with old libxslt-catalogless.so not providing foo() - the global
14
 # soname version info can't enforce this since we never
15
 # change the soname
16
 #
17
 
18
-LIBXML2_1.0.11 {
19
+LIBXML2_CATALOGLESS_1.0.11 {
20
     global:
21
 
22
 # attributes
23
@@ -210,42 +210,39 @@
24
 
25
 # xslt
26
   xsltCleanupGlobals;
27
-
28
-  local:
29
-    *;
30
 } ;
31
 
32
-LIBXML2_1.0.12 {
33
+LIBXML2_CATALOGLESS_1.0.12 {
34
     global:
35
 
36
 # xsltInternals
37
   xsltAllocateExtraCtxt;
38
   xsltAllocateExtra;
39
-} LIBXML2_1.0.11;
40
+} LIBXML2_CATALOGLESS_1.0.11;
41
 
42
-LIBXML2_1.0.13 {
43
+LIBXML2_CATALOGLESS_1.0.13 {
44
     global:
45
 
46
 # extensions
47
   xsltExtModuleElementPreComputeLookup;
48
   xsltXPathGetTransformContext;
49
-} LIBXML2_1.0.12;
50
+} LIBXML2_CATALOGLESS_1.0.12;
51
 
52
-LIBXML2_1.0.16 {
53
+LIBXML2_CATALOGLESS_1.0.16 {
54
     global:
55
 
56
 # attributes
57
   xsltResolveStylesheetAttributeSet;
58
-} LIBXML2_1.0.13;
59
+} LIBXML2_CATALOGLESS_1.0.13;
60
 
61
-LIBXML2_1.0.17 {
62
+LIBXML2_CATALOGLESS_1.0.17 {
63
     global:
64
 
65
 # transform
66
   xsltRunStylesheetUser;
67
-} LIBXML2_1.0.16;
68
+} LIBXML2_CATALOGLESS_1.0.16;
69
 
70
-LIBXML2_1.0.18 {
71
+LIBXML2_CATALOGLESS_1.0.18 {
72
     global:
73
 
74
 # extensions
75
@@ -253,9 +250,9 @@
76
 
77
 # xsltutils
78
   xsltSaveResultToString;
79
-} LIBXML2_1.0.17;
80
+} LIBXML2_CATALOGLESS_1.0.17;
81
 
82
-LIBXML2_1.0.22 {
83
+LIBXML2_CATALOGLESS_1.0.22 {
84
     global:
85
 
86
 # templates
87
@@ -282,9 +279,9 @@
88
 # xsltutils
89
   xsltSetTransformErrorFunc;
90
   xsltTransformError;
91
-} LIBXML2_1.0.18;
92
+} LIBXML2_CATALOGLESS_1.0.18;
93
 
94
-LIBXML2_1.0.24 {
95
+LIBXML2_CATALOGLESS_1.0.24 {
96
     global:
97
 
98
 # xsltutils
99
@@ -318,9 +315,9 @@
100
 # xsltutils
101
   xsltSetCtxtSortFunc;
102
   xsltSetSortFunc;
103
-} LIBXML2_1.0.22;
104
+} LIBXML2_CATALOGLESS_1.0.22;
105
 
106
-LIBXML2_1.0.30 {
107
+LIBXML2_CATALOGLESS_1.0.30 {
108
     global:
109
 
110
 # xsltInternals
111
@@ -328,9 +325,9 @@
112
   xsltFreeRVTs;
113
   xsltRegisterPersistRVT;
114
   xsltRegisterTmpRVT;
115
-} LIBXML2_1.0.24;
116
+} LIBXML2_CATALOGLESS_1.0.24;
117
 
118
-LIBXML2_1.0.32 {
119
+LIBXML2_CATALOGLESS_1.0.32 {
120
     global:
121
 
122
 # transform
123
@@ -338,39 +335,39 @@
124
 
125
 # extensions
126
   xsltGetExtInfo;
127
-} LIBXML2_1.0.30;
128
+} LIBXML2_CATALOGLESS_1.0.30;
129
 
130
-LIBXML2_1.0.33 {
131
+LIBXML2_CATALOGLESS_1.0.33 {
132
     global:
133
 
134
 # pattern
135
   xsltNormalizeCompSteps;
136
-} LIBXML2_1.0.32;
137
+} LIBXML2_CATALOGLESS_1.0.32;
138
 
139
-LIBXML2_1.1.0 {
140
+LIBXML2_CATALOGLESS_1.1.0 {
141
     global:
142
 
143
 # xsltutils
144
   xsltGetDebuggerStatus;
145
   xsltSetDebuggerStatus;
146
-} LIBXML2_1.0.33;
147
+} LIBXML2_CATALOGLESS_1.0.33;
148
 
149
-LIBXML2_1.1.1 {
150
+LIBXML2_CATALOGLESS_1.1.1 {
151
     global:
152
 
153
 # xsltutils
154
   xsltDebugGetDefaultTrace;
155
   xsltDebugSetDefaultTrace;
156
-} LIBXML2_1.1.0;
157
+} LIBXML2_CATALOGLESS_1.1.0;
158
 
159
-LIBXML2_1.1.2 {
160
+LIBXML2_CATALOGLESS_1.1.2 {
161
     global:
162
 
163
 # xsltutils
164
   xsltSetCtxtParseOptions;
165
-} LIBXML2_1.1.1;
166
+} LIBXML2_CATALOGLESS_1.1.1;
167
 
168
-LIBXML2_1.1.3 {
169
+LIBXML2_CATALOGLESS_1.1.3 {
170
     global:
171
 
172
 # xsltInternals
173
@@ -382,31 +379,31 @@
174
   xsltGetCNsProp;
175
   xsltSplitQName;
176
   xsltXPathCompile;
177
-} LIBXML2_1.1.2;
178
+} LIBXML2_CATALOGLESS_1.1.2;
179
 
180
-LIBXML2_1.1.5 {
181
+LIBXML2_CATALOGLESS_1.1.5 {
182
     global:
183
 
184
 # xsltutils
185
   xsltGetQNameURI2;
186
-} LIBXML2_1.1.3;
187
+} LIBXML2_CATALOGLESS_1.1.3;
188
 
189
-LIBXML2_1.1.7 {
190
+LIBXML2_CATALOGLESS_1.1.7 {
191
     global:
192
 
193
 # namespaces
194
   xsltGetPlainNamespace;
195
-} LIBXML2_1.1.5;
196
+} LIBXML2_CATALOGLESS_1.1.5;
197
 
198
-LIBXML2_1.1.9 {
199
+LIBXML2_CATALOGLESS_1.1.9 {
200
     global:
201
 
202
 # documents
203
   xsltDocDefaultLoader; # variable
204
   xsltSetLoaderFunc;
205
-} LIBXML2_1.1.7;
206
+} LIBXML2_CATALOGLESS_1.1.7;
207
 
208
-LIBXML2_1.1.18 {
209
+LIBXML2_CATALOGLESS_1.1.18 {
210
     global:
211
 
212
 # xsltInternals
213
@@ -437,31 +434,31 @@
214
 # xsltTransStorageRemove; removed in 1.1.28
215
   xsltUninit;
216
 # xsltXSLTAttrMarker; requires switch REFACTORED
217
-} LIBXML2_1.1.9;
218
+} LIBXML2_CATALOGLESS_1.1.9;
219
 
220
-LIBXML2_1.1.20 {
221
+LIBXML2_CATALOGLESS_1.1.20 {
222
     global:
223
 
224
 # transform
225
   xsltLocalVariablePop;
226
   xsltLocalVariablePush;
227
-} LIBXML2_1.1.18;
228
+} LIBXML2_CATALOGLESS_1.1.18;
229
 
230
-LIBXML2_1.1.23 {
231
+LIBXML2_CATALOGLESS_1.1.23 {
232
     global:
233
 
234
 # xsltInternals
235
   xsltInitAllDocKeys;
236
-} LIBXML2_1.1.20;
237
+} LIBXML2_CATALOGLESS_1.1.20;
238
 
239
-LIBXML2_1.1.24 {
240
+LIBXML2_CATALOGLESS_1.1.24 {
241
     global:
242
 
243
 # extensions
244
   xsltCheckExtURI;
245
-} LIBXML2_1.1.23;
246
+} LIBXML2_CATALOGLESS_1.1.23;
247
 
248
-LIBXML2_1.1.25 {
249
+LIBXML2_CATALOGLESS_1.1.25 {
250
     global:
251
 
252
 # xsltlocale
253
@@ -472,16 +469,16 @@
254
 
255
 # extensions
256
   xsltInitGlobals;
257
-} LIBXML2_1.1.24;
258
+} LIBXML2_CATALOGLESS_1.1.24;
259
 
260
-LIBXML2_1.1.26 {
261
+LIBXML2_CATALOGLESS_1.1.26 {
262
     global:
263
 
264
 # transform
265
   xsltProcessOneNode;
266
-} LIBXML2_1.1.25;
267
+} LIBXML2_CATALOGLESS_1.1.25;
268
 
269
-LIBXML2_1.1.27 {
270
+LIBXML2_CATALOGLESS_1.1.27 {
271
     global:
272
 
273
 # xsltlocale
274
@@ -489,13 +486,17 @@
275
 
276
 # xsltutils
277
   xsltXPathCompileFlags;
278
-} LIBXML2_1.1.26;
279
+} LIBXML2_CATALOGLESS_1.1.26;
280
 
281
-LIBXML2_1.1.30 {
282
+LIBXML2_CATALOGLESS_1.1.30 {
283
     global:
284
 
285
 # xsltInternals
286
   xsltFlagRVTs;
287
   xsltDecimalFormatGetByQName;
288
-} LIBXML2_1.1.27;
289
+} LIBXML2_CATALOGLESS_1.1.27;
290
 
291
+LIBXML2_CATALOGLESS {
292
+    local:
293
+  *;
294
+};
(-)a/dev-libs/libxslt/files/libxslt-1.1.32-catalogless.patch (+378 lines)
Line 0 Link Here
1
Install version of libxslt without support for XML catalogs.
2
3
libxslt.so library is renamed to libxslt-catalogless.so.
4
libexslt.so library is renamed to libexslt-catalogless.so.
5
Versions of global defined symbols are renamed from LIBXML2* to LIBXML2_CATALOGLESS*.
6
7
xsltproc executable is built, but is not installed.
8
9
xslt-config script is renamed to xslt-catalogless-config.
10
libxslt.pc pkg-config file is renamed to libxslt-catalogless.pc.
11
libexslt.pc pkg-config file is renamed to libexslt-catalogless.pc.
12
xsltConf.sh file is renamed to xsltCataloglessConf.sh.
13
14
--- /Makefile.am
15
+++ /Makefile.am
16
@@ -9,9 +9,9 @@
17
 DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
18
 
19
 confexecdir=$(libdir)
20
-confexec_DATA = xsltConf.sh
21
+confexec_DATA = xsltCataloglessConf.sh
22
 
23
-bin_SCRIPTS = xslt-config
24
+bin_SCRIPTS = xslt-catalogless-config
25
 
26
 dist-hook: cleanup libxslt.spec
27
 	touch $(distdir)/doc/*.xml
28
@@ -27,21 +27,21 @@
29
 	     win32/libxslt/libxslt_so.dsp win32/libxslt/xsltproc.dsp \
30
 	     $(CVS_EXTRA_DIST)
31
 
32
-## We create xsltConf.sh here and not from configure because we want
33
+## We create xsltCataloglessConf.sh here and not from configure because we want
34
 ## to get the paths expanded correctly.  Macros like srcdir are given
35
 ## the value NONE in configure if the user doesn't specify them (this
36
 ## is an autoconf feature, not a bug).
37
 
38
-xsltConf.sh: xsltConf.sh.in Makefile
39
+xsltCataloglessConf.sh: xsltConf.sh.in Makefile
40
 ## Use sed and then mv to avoid problems if the user interrupts.
41
 	sed -e 's?\@XSLT_LIBDIR\@?$(XSLT_LIBDIR)?g' \
42
 	    -e 's?\@XSLT_INCLUDEDIR\@?$(XSLT_INCLUDEDIR)?g' \
43
 	    -e 's?\@VERSION\@?$(VERSION)?g' \
44
 	    -e 's?\@XSLT_LIBS\@?$(XSLT_LIBS) $(EXTRA_LIBS)?g' \
45
 	       < $(srcdir)/xsltConf.sh.in > xsltConf.tmp \
46
-	&& mv xsltConf.tmp xsltConf.sh
47
+	&& mv xsltConf.tmp xsltCataloglessConf.sh
48
 
49
-CLEANFILES = xsltConf.sh
50
+CLEANFILES = xsltCataloglessConf.sh
51
 
52
 check-local: tests
53
 
54
@@ -70,7 +70,7 @@
55
 
56
 
57
 pkgconfigdir=$(libdir)/pkgconfig
58
-pkgconfig_DATA = libxslt.pc libexslt.pc
59
+pkgconfig_DATA = libxslt-catalogless.pc libexslt-catalogless.pc
60
 
61
 m4datadir = $(datadir)/aclocal
62
 m4data_DATA = libxslt.m4
63
--- /configure.ac
64
+++ /configure.ac
65
@@ -436,15 +436,15 @@
66
 AC_SUBST(LIBXML_SRC)
67
 
68
 dnl
69
-dnl where is xml2-config
70
+dnl where is xml2-catalogless-config
71
 dnl
72
 
73
 AC_SUBST(LIBXML_REQUIRED_VERSION)
74
 if test "x$LIBXML_CONFIG_PREFIX" != "x"
75
 then
76
-	AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false], [${LIBXML_CONFIG_PREFIX}/bin])
77
+	AC_PATH_TOOL([XML_CONFIG], [xml2-catalogless-config], [false], [${LIBXML_CONFIG_PREFIX}/bin])
78
 else
79
-	AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false])
80
+	AC_PATH_TOOL([XML_CONFIG], [xml2-catalogless-config], [false])
81
 fi
82
 
83
 dnl
84
@@ -481,7 +481,7 @@
85
 	if cd $LIBXML_SRC
86
 	then
87
 		LIBXML_SRC=`pwd`
88
-		XML_CONFIG="${LIBXML_SRC}/xml2-config"
89
+		XML_CONFIG="${LIBXML_SRC}/xml2-catalogless-config"
90
 		LIBXML_CFLAGS="-I${LIBXML_SRC}/include"
91
 		LIBXML_LIBS="-L${LIBXML_SRC} `$XML_CONFIG --libs`"
92
                 WITH_MODULES="`$XML_CONFIG --modules`"
93
@@ -497,13 +497,13 @@
94
 
95
 if test "x$LIBXML_CONFIG_PREFIX" = "x" -a "x$LIBXML_LIBS" = "x"
96
 then
97
-	PKG_CHECK_MODULES([LIBXML], [libxml-2.0 >= $LIBXML_REQUIRED_VERSION], [
98
-		WITH_MODULES="`$PKG_CONFIG --variable=modules libxml-2.0`"
99
+	PKG_CHECK_MODULES([LIBXML], [libxml-2.0-catalogless >= $LIBXML_REQUIRED_VERSION], [
100
+		WITH_MODULES="`$PKG_CONFIG --variable=modules libxml-2.0-catalogless`"
101
 	], [ ])
102
 fi
103
 
104
 dnl
105
-dnl make sure xml2-config is executable,
106
+dnl make sure xml2-catalogless-config is executable,
107
 dnl test version and init our variables
108
 dnl
109
 
110
@@ -609,14 +609,14 @@
111
 
112
 XSLT_LIBDIR='-L${libdir}'
113
 XSLT_INCLUDEDIR='-I${includedir}'
114
-XSLT_LIBS="-lxslt $LIBXML_LIBS $M_LIBS"
115
+XSLT_LIBS="-lxslt-catalogless $LIBXML_LIBS $M_LIBS"
116
 AC_SUBST(XSLT_LIBDIR)
117
 AC_SUBST(XSLT_INCLUDEDIR)
118
 AC_SUBST(XSLT_LIBS)
119
 
120
 EXSLT_LIBDIR='-L${libdir}'
121
 EXSLT_INCLUDEDIR='-I${includedir}'
122
-EXSLT_LIBS="-lexslt $XSLT_LIBS $LIBGCRYPT_LIBS"
123
+EXSLT_LIBS="-lexslt-catalogless $XSLT_LIBS $LIBGCRYPT_LIBS"
124
 AC_SUBST(EXSLT_LIBDIR)
125
 AC_SUBST(EXSLT_INCLUDEDIR)
126
 AC_SUBST(EXSLT_LIBS)
127
@@ -634,8 +634,8 @@
128
 
129
 AC_CONFIG_FILES([
130
 Makefile
131
-libxslt.pc
132
-libexslt.pc
133
+libxslt-catalogless.pc:libxslt.pc.in
134
+libexslt-catalogless.pc:libexslt.pc.in
135
 libxslt/Makefile
136
 libxslt/xsltconfig.h
137
 libxslt/xsltwin32config.h
138
@@ -673,7 +673,7 @@
139
 tests/exslt/crypto/Makefile
140
 tests/plugins/Makefile
141
 doc/Makefile
142
-xslt-config
143
+xslt-catalogless-config:xslt-config.in
144
 libxslt.spec
145
 ])
146
 
147
--- /doc/syms.xsl
148
+++ /doc/syms.xsl
149
@@ -15,19 +15,24 @@
150
 # Versions here are *fixed* to match the libxslt version
151
 # at which the symbol was introduced. This ensures that
152
 # a new client app requiring symbol foo() can't accidentally
153
-# run with old libxslt.so not providing foo() - the global
154
+# run with old libxslt-catalogless.so not providing foo() - the global
155
 # soname version info can't enforce this since we never
156
 # change the soname
157
 #
158
 
159
 </xsl:text>
160
     <xsl:apply-templates select="/symbols/release"/>
161
+    <xsl:text>LIBXML2_CATALOGLESS {
162
+    local:
163
+  *;
164
+};
165
+</xsl:text>
166
   </xsl:template>
167
 
168
   <xsl:template match="release">
169
     <xsl:variable name="prev"
170
                   select="preceding-sibling::release[position()=1]"/>
171
-    <xsl:text>LIBXML2_</xsl:text>
172
+    <xsl:text>LIBXML2_CATALOGLESS_</xsl:text>
173
     <xsl:value-of select="string(@version)"/>
174
     <xsl:text> {
175
     global:
176
@@ -44,16 +49,9 @@
177
       <xsl:apply-templates select="."/>
178
     </xsl:for-each>
179
 
180
-    <xsl:if test="not($prev)">
181
-      <xsl:text>
182
-  local:
183
-    *;
184
-</xsl:text>
185
-    </xsl:if>
186
-
187
     <xsl:text>} </xsl:text>
188
     <xsl:if test="$prev">
189
-      <xsl:text>LIBXML2_</xsl:text>
190
+      <xsl:text>LIBXML2_CATALOGLESS_</xsl:text>
191
       <xsl:value-of select="$prev/@version"/>
192
     </xsl:if>
193
     <xsl:text>;
194
--- /libexslt/Makefile.am
195
+++ /libexslt/Makefile.am
196
@@ -4,7 +4,7 @@
197
 
198
 AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBXML_CFLAGS)
199
 
200
-lib_LTLIBRARIES = libexslt.la
201
+lib_LTLIBRARIES = libexslt-catalogless.la
202
 
203
 exsltincdir = $(includedir)/libexslt
204
 
205
@@ -14,7 +14,7 @@
206
 nodist_exsltinc_HEADERS =               \
207
 	exsltconfig.h
208
 
209
-libexslt_la_SOURCES =                   \
210
+libexslt_catalogless_la_SOURCES =       \
211
 	exslt.c				\
212
 	common.c			\
213
 	crypto.c			\
214
@@ -27,8 +27,8 @@
215
 	libexslt.h			\
216
 	dynamic.c
217
 
218
-libexslt_la_LIBADD = $(top_builddir)/libxslt/libxslt.la $(EXTRA_LIBS) $(LIBGCRYPT_LIBS) $(M_LIBS)
219
-libexslt_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -version-info $(LIBEXSLT_VERSION_INFO)
220
+libexslt_catalogless_la_LIBADD = $(top_builddir)/libxslt/libxslt-catalogless.la $(EXTRA_LIBS) $(LIBGCRYPT_LIBS) $(M_LIBS)
221
+libexslt_catalogless_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -version-info $(LIBEXSLT_VERSION_INFO)
222
 
223
 man_MANS = libexslt.3
224
 
225
--- /libexslt.pc.in
226
+++ /libexslt.pc.in
227
@@ -4,9 +4,9 @@
228
 includedir=@includedir@
229
 
230
 
231
-Name: libexslt
232
+Name: libexslt-catalogless
233
 Version: @LIBEXSLT_VERSION@
234
-Description: EXSLT Extension library
235
-Requires: libxml-2.0
236
+Description: EXSLT Extension library using libXML library version 2 without Catalog support
237
+Requires: libxml-2.0-catalogless
238
 Libs: @EXSLT_LIBDIR@ @EXSLT_LIBS@
239
 Cflags: @EXSLT_INCLUDEDIR@
240
--- /libxslt/Makefile.am
241
+++ /libxslt/Makefile.am
242
@@ -2,7 +2,7 @@
243
 
244
 AM_CFLAGS = $(LIBXML_CFLAGS)
245
 
246
-lib_LTLIBRARIES = libxslt.la
247
+lib_LTLIBRARIES = libxslt-catalogless.la
248
 
249
 xsltincdir = $(includedir)/libxslt
250
 
251
@@ -30,7 +30,7 @@
252
 nodist_xsltinc_HEADERS = 		\
253
 	xsltconfig.h
254
 
255
-libxslt_la_SOURCES = 			\
256
+libxslt_catalogless_la_SOURCES = 	\
257
 	attrvt.c			\
258
 	xslt.c				\
259
 	xsltlocale.c			\
260
@@ -53,7 +53,7 @@
261
 	win32config.h			\
262
 	xsltwin32config.h.in		\
263
 	libxslt.h
264
-nodist_libxslt_la_SOURCES =		\
265
+nodist_libxslt_catalogless_la_SOURCES =	\
266
 	xsltwin32config.h
267
 
268
 if USE_VERSION_SCRIPT
269
@@ -62,8 +62,8 @@
270
 LIBXSLT_VERSION_SCRIPT =
271
 endif
272
 
273
-libxslt_la_LIBADD = $(LIBXML_LIBS) $(EXTRA_LIBS) $(M_LIBS)
274
-libxslt_la_LDFLAGS =					\
275
+libxslt_catalogless_la_LIBADD = $(LIBXML_LIBS) $(EXTRA_LIBS) $(M_LIBS)
276
+libxslt_catalogless_la_LDFLAGS =			\
277
 		$(WIN32_EXTRA_LDFLAGS)			\
278
 		$(LIBXSLT_VERSION_SCRIPT)		\
279
 		-version-info $(LIBXSLT_VERSION_INFO)
280
--- /libxslt.pc.in
281
+++ /libxslt.pc.in
282
@@ -4,9 +4,9 @@
283
 includedir=@includedir@
284
 
285
 
286
-Name: libxslt
287
+Name: libxslt-catalogless
288
 Version: @VERSION@
289
-Description: XSLT library version 2.
290
-Requires: libxml-2.0
291
+Description: XSLT library version 2 using libXML library version 2 without Catalog support.
292
+Requires: libxml-2.0-catalogless
293
 Libs: @XSLT_LIBDIR@ @XSLT_LIBS@ @EXTRA_LIBS@
294
 Cflags: @XSLT_INCLUDEDIR@
295
--- /python/Makefile.am
296
+++ /python/Makefile.am
297
@@ -23,8 +23,8 @@
298
 
299
 if WITH_PYTHON
300
 mylibs = \
301
-	$(top_builddir)/libxslt/libxslt.la \
302
-	$(top_builddir)/libexslt/libexslt.la
303
+	$(top_builddir)/libxslt/libxslt-catalogless.la \
304
+	$(top_builddir)/libexslt/libexslt-catalogless.la
305
 
306
 all-local: libxslt.py
307
 
308
--- /tests/plugins/Makefile.am
309
+++ /tests/plugins/Makefile.am
310
@@ -20,7 +20,7 @@
311
 
312
 xmlsoft_org_xslt_testplugin_la_CFLAGS = -DMODULE_COMPILE $(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)
313
 xmlsoft_org_xslt_testplugin_la_SOURCES = testplugin.c
314
-xmlsoft_org_xslt_testplugin_la_LIBADD = $(top_builddir)/libxslt/libxslt.la $(EXTRA_LIBS)
315
+xmlsoft_org_xslt_testplugin_la_LIBADD = $(top_builddir)/libxslt/libxslt-catalogless.la $(EXTRA_LIBS)
316
 xmlsoft_org_xslt_testplugin_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -module -avoid-version -rpath $(plugindir)
317
 
318
 test-logall:
319
--- /xslt-config.in
320
+++ /xslt-config.in
321
@@ -9,7 +9,7 @@
322
 usage()
323
 {
324
     cat <<EOF
325
-Usage: xslt-config [OPTION]...
326
+Usage: xslt-catalogless-config [OPTION]...
327
 
328
 Known values for OPTION are:
329
 
330
--- /xsltproc/Makefile.am
331
+++ /xsltproc/Makefile.am
332
@@ -3,9 +3,9 @@
333
 	      -I$(top_builddir)/libexslt
334
 
335
 EXTRA_PROGRAMS=
336
-bin_PROGRAMS = xsltproc $(XSLTPROCDV)
337
+noinst_PROGRAMS = xsltproc $(XSLTPROCDV)
338
 
339
-noinst_PROGRAMS=testThreads
340
+noinst_PROGRAMS += testThreads
341
 
342
 AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBXML_CFLAGS)
343
 
344
@@ -18,25 +18,25 @@
345
 testThreads_DEPENDENCIES = $(DEPS)
346
 testThreads_LDADD=  $(THREAD_LIBS) $(LDADDS)
347
 
348
-DEPS = $(top_builddir)/libxslt/libxslt.la \
349
-	$(top_builddir)/libexslt/libexslt.la 
350
+DEPS = $(top_builddir)/libxslt/libxslt-catalogless.la \
351
+	$(top_builddir)/libexslt/libexslt-catalogless.la 
352
 
353
-LDADDS = $(top_builddir)/libxslt/libxslt.la \
354
-         $(top_builddir)/libexslt/libexslt.la \
355
+LDADDS = $(top_builddir)/libxslt/libxslt-catalogless.la \
356
+         $(top_builddir)/libexslt/libexslt-catalogless.la \
357
 	$(LIBXML_LIBS) $(EXTRA_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
358
 
359
 xsltproc_LDADD = $(LIBGCRYPT_LIBS) $(LDADDS)
360
 
361
 CLEANFILES = .memdump
362
 
363
-$(top_builddir)/libxslt/libxslt.la:
364
-	cd $(top_builddir)/libxslt && $(MAKE) libxslt.la
365
+$(top_builddir)/libxslt/libxslt-catalogless.la:
366
+	cd $(top_builddir)/libxslt && $(MAKE) libxslt-catalogless.la
367
 
368
-$(top_builddir)/libexslt/libexslt.la: $(top_builddir)/libxslt/libxslt.la
369
-	cd $(top_builddir)/libexslt && $(MAKE) libexslt.la
370
+$(top_builddir)/libexslt/libexslt-catalogless.la: $(top_builddir)/libxslt/libxslt-catalogless.la
371
+	cd $(top_builddir)/libexslt && $(MAKE) libexslt-catalogless.la
372
 
373
 xsltproc.dv: xsltproc.o
374
-	$(CC) $(CFLAGS) -o xsltproc xsltproc.o ../libexslt/.libs/libexslt.a ../libxslt/.libs/libxslt.a $(LIBXML_LIBS) $(EXTRA_LIBS) $(LIBGCRYPT_LIBS)
375
+	$(CC) $(CFLAGS) -o xsltproc xsltproc.o ../libexslt/.libs/libexslt-catalogless.a ../libxslt/.libs/libxslt-cataloless.a $(LIBXML_LIBS) $(EXTRA_LIBS) $(LIBGCRYPT_LIBS)
376
 
377
 tests: testThreads
378
 	@echo > .memdump
(-)a/dev-libs/libxslt/libxslt-1.1.32-r1.ebuild (+165 lines)
Line 0 Link Here
1
# Copyright 1999-2018 Gentoo Foundation
2
# Distributed under the terms of the GNU General Public License v2
3
4
EAPI=6
5
PYTHON_COMPAT=( python2_7 )
6
PYTHON_REQ_USE="xml"
7
8
inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
9
10
DESCRIPTION="XSLT libraries and tools"
11
HOMEPAGE="http://www.xmlsoft.org/"
12
SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
13
14
LICENSE="MIT"
15
SLOT="0"
16
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
17
18
IUSE="catalogless crypt debug examples python static-libs elibc_Darwin"
19
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
20
21
RDEPEND="
22
	>=dev-libs/libxml2-2.9.1-r5:2[catalogless?,${MULTILIB_USEDEP}]
23
	crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
24
	python? (
25
		${PYTHON_DEPS}
26
		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
27
"
28
DEPEND="${RDEPEND}"
29
30
MULTILIB_WRAPPED_HEADERS=(
31
	/usr/include/libxslt/xsltconfig.h
32
)
33
34
pkg_setup() {
35
	MULTILIB_CHOST_TOOLS=(
36
		/usr/bin/xslt-config
37
		$(usex catalogless /usr/bin/xslt-catalogless-config "")
38
	)
39
}
40
41
src_prepare() {
42
	default
43
44
	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
45
46
	# Simplify python setup
47
	# https://bugzilla.gnome.org/show_bug.cgi?id=758095
48
	eapply "${FILESDIR}"/${PV}-simplify-python.patch
49
	eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
50
51
	if use catalogless; then
52
		cp -pr "${S}" "${S}-catalogless" || die
53
	fi
54
55
	eautoreconf
56
	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
57
	# and it is propably otherwise too if upstream generated with new
58
	# autoconf
59
#	epunt_cxx
60
	# But Prefix always needs elibtoolize if not eautoreconf'd.
61
#	elibtoolize
62
63
	if use catalogless; then
64
		pushd "${S}-catalogless" > /dev/null || die
65
		eapply "${FILESDIR}"/${P}-catalogless.patch
66
		eapply "${FILESDIR}"/${P}-catalogless-generated.patch
67
		eautoreconf
68
		popd > /dev/null || die
69
	fi
70
}
71
72
multilib_src_configure() {
73
	libxslt_configure() {
74
		ECONF_SOURCE="${ECONF_SOURCE-${S}}" econf \
75
			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
76
			--with-html-subdir=html \
77
			$(use_with crypt crypto) \
78
			$(use_with debug) \
79
			$(use_with debug mem-debug) \
80
			$(use_enable static-libs static) \
81
			"$@"
82
	}
83
84
	libxslt_py_configure() {
85
		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
86
		run_in_build_dir libxslt_configure --with-python
87
	}
88
89
	libxslt_configure --without-python # build python bindings separately
90
91
	if use catalogless; then
92
		mkdir -p "$(pwd)-catalogless" || die
93
		pushd "$(pwd)-catalogless" > /dev/null || die
94
		ECONF_SOURCE="${S}-catalogless" libxslt_configure --without-python
95
		popd > /dev/null || die
96
	fi
97
98
	if multilib_is_native_abi && use python; then
99
		python_foreach_impl libxslt_py_configure
100
	fi
101
}
102
103
multilib_src_compile() {
104
	default
105
106
	if use catalogless; then
107
		pushd "$(pwd)-catalogless" > /dev/null || die
108
		default
109
		popd > /dev/null || die
110
	fi
111
112
	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
113
}
114
115
multilib_src_test() {
116
	default
117
118
	if use catalogless; then
119
		pushd "$(pwd)-catalogless" > /dev/null || die
120
		default
121
		popd > /dev/null || die
122
	fi
123
124
	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
125
}
126
127
multilib_src_install() {
128
	# "default" does not work here - docs are installed by multilib_src_install_all
129
	emake DESTDIR="${D}" install
130
131
	if use catalogless; then
132
		pushd "$(pwd)-catalogless" > /dev/null || die
133
		emake DESTDIR="${D}" install
134
		popd > /dev/null || die
135
	fi
136
137
	if multilib_is_native_abi && use python; then
138
		libxslt_foreach_py_emake \
139
			DESTDIR="${D}" \
140
			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
141
			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
142
			install
143
		python_foreach_impl python_optimize
144
	fi
145
}
146
147
multilib_src_install_all() {
148
	einstalldocs
149
150
	if ! use examples && use python; then
151
		rm -r "${ED}"/usr/share/doc/${PF}/python/examples || die
152
	fi
153
154
	prune_libtool_files --modules
155
}
156
157
libxslt_foreach_py_emake() {
158
	libxslt_py_emake() {
159
		pushd "${BUILD_DIR}/python" > /dev/null || die
160
		emake "$@"
161
		popd > /dev/null
162
	}
163
	local native_builddir=${BUILD_DIR}
164
	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
165
}
(-)a/dev-libs/libxslt/metadata.xml (-1 / +3 lines)
Lines 5-8 Link Here
5
    <email>gnome@gentoo.org</email>
5
    <email>gnome@gentoo.org</email>
6
    <name>Gentoo GNOME Desktop</name>
6
    <name>Gentoo GNOME Desktop</name>
7
  </maintainer>
7
  </maintainer>
8
  <use>
9
    <flag name="catalogless">Install additional version of libxslt without support for XML catalogs</flag>
10
  </use>
8
</pkgmetadata>
11
</pkgmetadata>
9
- 

Return to bug 653078