mxml.spec 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #
  2. # RPM "spec" file for Mini-XML, a small XML file parsing library.
  3. #
  4. # https://www.msweet.org/mxml
  5. #
  6. # Copyright © 2003-2019 by Michael R Sweet.
  7. #
  8. # Licensed under Apache License v2.0. See the file "LICENSE" for more
  9. # information.
  10. #
  11. Summary: Small XML file parsing library
  12. Name: mxml
  13. Version: 3.2
  14. Release: 1
  15. License: Apache 2.0
  16. Group: Development/Libraries
  17. Source: https://github.com/michaelrsweet/mxml/releases/download/release-%{version}/mxml-%{version}.tar.gz
  18. Url: https://www.msweet.org/mxml
  19. Packager: John Doe <[email protected]>
  20. Vendor: Michael R Sweet
  21. # Use buildroot so as not to disturb the version already installed
  22. BuildRoot: /var/tmp/%{name}-root
  23. %description
  24. Mini-XML is a small XML parsing library that you can use to read XML data files
  25. or strings in your application without requiring large non-standard libraries.
  26. Mini-XML provides the following functionality:
  27. - Reading of UTF-8 and UTF-16 and writing of UTF-8 encoded XML files and
  28. strings.
  29. - Data is stored in a linked-list tree structure, preserving the XML data
  30. hierarchy.
  31. - SAX (streamed) reading of XML files and strings to minimize memory usage.
  32. - Supports arbitrary element names, attributes, and attribute values with no
  33. preset limits, just available memory.
  34. - Supports integer, real, opaque ("cdata"), and text data types in "leaf" nodes.
  35. - Functions for creating and managing trees of data.
  36. - "Find" and "walk" functions for easily locating and navigating trees of data.
  37. Mini-XML doesn't do validation or other types of processing on the data
  38. based upon schema files or other sources of definition information.
  39. %prep
  40. %setup
  41. %build
  42. CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" ./configure --enable-shared --prefix=/usr
  43. # If we got this far, all prerequisite libraries must be here.
  44. make
  45. %install
  46. # Make sure the RPM_BUILD_ROOT directory exists.
  47. rm -rf $RPM_BUILD_ROOT
  48. make BUILDROOT=$RPM_BUILD_ROOT install
  49. %clean
  50. rm -rf $RPM_BUILD_ROOT
  51. %files
  52. %defattr(-,root,root)
  53. %dir /usr/include
  54. /usr/include/mxml.h
  55. %dir /usr/lib
  56. /usr/lib/*
  57. %dir /usr/lib/pkgconfig
  58. /usr/lib/pkgconfig/mxml.pc
  59. %dir /usr/share/doc/mxml
  60. /usr/share/doc/mxml/*
  61. %dir /usr/share/man/man3
  62. /usr/share/man/man3/*