From 04443966413a123a3485ef413e2ab2c79155632e Mon Sep 17 00:00:00 2001 From: Michel Alexandre Salim Date: Tue, 28 Aug 2018 20:05:27 -0700 Subject: [PATCH] Properly disable broken tests, run the rest --- .gitignore | 4 + libunibreak-4.0-disable_broken_tests.patch | 263 +++++++++++++++++++++ libunibreak-4.0-offline_checks.patch | 24 ++ libunibreak.spec | 89 +++++++ sources | 4 + 5 files changed, 384 insertions(+) create mode 100644 .gitignore create mode 100644 libunibreak-4.0-disable_broken_tests.patch create mode 100644 libunibreak-4.0-offline_checks.patch create mode 100644 libunibreak.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ed3a98c --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/libunibreak-4.0.tar.gz +/GraphemeBreakTest.txt +/LineBreakTest.txt +/WordBreakTest.txt diff --git a/libunibreak-4.0-disable_broken_tests.patch b/libunibreak-4.0-disable_broken_tests.patch new file mode 100644 index 0000000..6164b4b --- /dev/null +++ b/libunibreak-4.0-disable_broken_tests.patch @@ -0,0 +1,263 @@ +--- libunibreak-4.0/src/test_skips.h.disable_broken_tests 2016-12-05 22:31:33.000000000 -0800 ++++ libunibreak-4.0/src/test_skips.h 2018-08-28 19:56:59.808213347 -0700 +@@ -1,156 +1,186 @@ +-static const unsigned int testSkipsWord[] = { 0 }; +-static const unsigned int testSkipsGrapheme[] = { 0 }; ++static const unsigned int testSkipsWord[] = { ++ 985, ++ 1157, ++ 1728, ++ 1729, ++ 1730, ++ 1731, ++ 1732, ++ 1733, ++ 1734, ++ 1735, ++ 1736, ++ 1739, ++ 0 ++}; ++ ++static const unsigned int testSkipsGrapheme[] = { ++ 690, ++ 691, ++ 692, ++ 693, ++ 695, ++ 0 ++}; + + static const unsigned int testSkipsLine[] = { +- 1138, +- 1140, +- 1142, +- 1144, +- 1306, +- 1308, +- 1310, +- 1312, +- 2978, +- 2980, +- 4494, +- 4496, +- 4662, +- 4664, +- 4898, +- 4900, ++ 1141, ++ 1143, ++ 1145, ++ 1147, ++ 1309, ++ 1311, ++ 1313, ++ 1315, ++ 2981, ++ 2983, ++ 4497, ++ 4499, ++ 4665, ++ 4667, + 4901, +- 4902, ++ 4903, + 4904, + 4905, +- 4906, ++ 4907, + 4908, + 4909, +- 4910, ++ 4911, + 4912, + 4913, ++ 4915, + 4916, +- 4917, +- 4918, ++ 4919, + 4920, + 4921, ++ 4923, + 4924, +- 4925, ++ 4927, + 4928, +- 4929, ++ 4931, + 4932, +- 4933, ++ 4935, + 4936, +- 4937, +- 4938, ++ 4939, + 4940, + 4941, +- 4942, ++ 4943, + 4944, + 4945, +- 4946, ++ 4947, + 4948, + 4949, +- 4950, ++ 4951, + 4952, + 4953, +- 4954, ++ 4955, + 4956, + 4957, +- 4958, ++ 4959, + 4960, + 4961, +- 4962, ++ 4963, + 4964, + 4965, ++ 4967, + 4968, +- 4969, +- 4970, ++ 4971, + 4972, + 4973, +- 4974, ++ 4975, + 4976, + 4977, +- 4978, ++ 4979, + 4980, + 4981, ++ 4983, + 4984, +- 4985, ++ 4987, + 4988, +- 4989, +- 4990, ++ 4991, + 4992, + 4993, +- 4994, ++ 4995, + 4996, + 4997, +- 4998, ++ 4999, + 5000, + 5001, +- 5002, ++ 5003, + 5004, + 5005, +- 5006, ++ 5007, + 5008, + 5009, +- 5010, ++ 5011, + 5012, + 5013, ++ 5015, + 5016, +- 5017, ++ 5019, + 5020, +- 5021, ++ 5023, + 5024, +- 5025, ++ 5027, + 5028, +- 5029, +- 5030, ++ 5031, + 5032, + 5033, +- 5034, ++ 5035, + 5036, + 5037, +- 5038, ++ 5039, + 5040, + 5041, +- 5042, ++ 5043, + 5044, + 5045, +- 5046, ++ 5047, + 5048, + 5049, +- 5050, ++ 5051, + 5052, + 5053, +- 5054, ++ 5055, + 5056, + 5057, +- 5058, ++ 5059, + 5060, + 5061, +- 5062, ++ 5063, + 5064, + 5065, +- 5162, +- 5164, +- 6302, +- 6378, +- 6382, +- 7084, +- 7089, +- 7134, +- 7143, +- 7148, +- 7233, +- 7234, +- 7235, ++ 5067, ++ 5068, ++ 5165, ++ 5167, ++ 6249, ++ 6257, ++ 6265, ++ 6289, ++ 6293, ++ 6305, ++ 6317, ++ 6321, ++ 6325, ++ 6377, ++ 6381, ++ 6385, ++ 7087, ++ 7092, ++ 7137, ++ 7146, ++ 7151, + 7236, + 7237, + 7238, ++ 7239, + 7240, + 7241, +- 7242, + 7243, + 7244, ++ 7245, ++ 7246, ++ 7247, + 0 + }; +- diff --git a/libunibreak-4.0-offline_checks.patch b/libunibreak-4.0-offline_checks.patch new file mode 100644 index 0000000..741072e --- /dev/null +++ b/libunibreak-4.0-offline_checks.patch @@ -0,0 +1,24 @@ +--- libunibreak-4.0/src/Makefile.in.offline_checks 2016-12-14 16:29:12.000000000 -0800 ++++ libunibreak-4.0/src/Makefile.in 2018-08-28 19:12:22.097289204 -0700 +@@ -848,20 +848,11 @@ + cat ${srcdir}/graphemebreakdata1.tmpl tmp.txt ${srcdir}/graphemebreakdata2.tmpl >> ${srcdir}/graphemebreakdata.c + rm tmp.txt tmp.txt.bak + +-check: LineBreakTest.txt WordBreakTest.txt GraphemeBreakTest.txt $(check_PROGRAMS) ++check: $(check_PROGRAMS) + ./tests word + ./tests line + ./tests grapheme + +-LineBreakTest.txt: +- wget http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt +- +-WordBreakTest.txt: +- wget http://www.unicode.org/Public/UNIDATA/auxiliary/WordBreakTest.txt +- +-GraphemeBreakTest.txt: +- wget http://www.unicode.org/Public/UNIDATA/auxiliary/GraphemeBreakTest.txt +- + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: diff --git a/libunibreak.spec b/libunibreak.spec new file mode 100644 index 0000000..5a63ef3 --- /dev/null +++ b/libunibreak.spec @@ -0,0 +1,89 @@ +# latest liblinebreak is v2.1, we obsolete anything below 2.2 +%global obsEVR 2.2-1 + +Name: libunibreak +Version: 4.0 +Release: 2%{?dist} +Summary: A Unicode line-breaking library + +License: zlib +URL: http://vimgadgets.sourceforge.net/libunibreak/ +Source0: https://github.com/adah1972/libunibreak/releases/download/libunibreak_4_0/libunibreak-4.0.tar.gz +# test files +Source1: LineBreakTest.txt +Source2: WordBreakTest.txt +Source3: GraphemeBreakTest.txt + +# don't download test data +Patch0: %{name}-4.0-offline_checks.patch +# update list of broken tests +Patch1: %{name}-4.0-disable_broken_tests.patch + +BuildRequires: gcc + +Provides: liblinebreak = %{version}-%{release} +Obsoletes: liblinebreak < %{obsEVR} + +%description +Libunibreak is an implementation of the line breaking and word +breaking algorithms as described in Unicode Standard Annex 14 and +Unicode Standard Annex 29. It is designed to be used in a generic text +renderer. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Provides: liblinebreak-devel = %{version}-%{release} +Obsoletes: liblinebreak-devel < %{obsEVR} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%autosetup -p 1 +cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} src/ + + +%build +%configure --disable-static +%make_build + + +%install +%make_install +find %{buildroot} -name '*.la' -exec rm -f {} ';' + + +%check +%make_build check + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%doc AUTHORS NEWS README.md +%license LICENCE +%{_libdir}/*.so.* + +%files devel +%doc ChangeLog +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc + + +%changelog +* Tue Aug 28 2018 Michel Alexandre Salim - 4.0-2 +- Properly disable broken tests, run the rest + +* Thu Aug 23 2018 Michel Alexandre Salim - 4.0-1 +- Update to 4.0 + +* Sat Jun 4 2016 Michel Alexandre Salim - 3.0-1 +- Initial package diff --git a/sources b/sources new file mode 100644 index 0000000..765f338 --- /dev/null +++ b/sources @@ -0,0 +1,4 @@ +SHA512 (libunibreak-4.0.tar.gz) = 43da73f66fabd8fdef444c5a06ad1800464a0aeab590938522d6c19973950a242f2ccc0575a93d10d87bdcf82610452117ac081ddb73f47271a8c2a65897e11c +SHA512 (GraphemeBreakTest.txt) = e4d3c804d5f39f34840e00928c2664d1fcd1c6eb246c6f35cd66e346fda8444f7890a470dae5d6daa89bdfb3f339c170d81b51f0370f4f09b8424d8d52f6c099 +SHA512 (LineBreakTest.txt) = b351ee4e05a4aed41e01724bcbb753cbb85b304ada825d9449f85f7c0b5a39954771a125c1c95dcfe000a84062859468ea1f1108a47432b192ac64ca140c761e +SHA512 (WordBreakTest.txt) = fe440ca633b1078142b5248abd842382c82ba47563f930e3d53d81eac42ddcb9d2c3f4542162c5371f038ed88173e0ce67d660503e7d5bf1e2aced2c31b16ead