The package rpms/folly.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/folly.git/commit/?id=ab7c5860f74902d....
Change: +ExcludeArch: s390x
Thanks.
Full change: ============
commit ab7c5860f74902d97efab36d8baa2613e7dc7c2e Author: Michel Alexandre Salim salimma@fedoraproject.org Date: Mon Oct 26 15:37:36 2020 -0700
Initial import
Signed-off-by: Michel Alexandre Salim salimma@fedoraproject.org
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..958d104 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/folly-v2020.10.26.00.tar.gz diff --git a/folly-v2020.10.26.00-fix_docs.patch b/folly-v2020.10.26.00-fix_docs.patch new file mode 100644 index 0000000..82a7f5f --- /dev/null +++ b/folly-v2020.10.26.00-fix_docs.patch @@ -0,0 +1,66 @@ +From e24cbe578e4a98a89fe8da3ce669de725e53fa12 Mon Sep 17 00:00:00 2001 +From: Michel Alexandre Salim michel@michel-slm.name +Date: Mon, 26 Oct 2020 12:17:24 -0700 +Subject: [PATCH] Fix HTML document titles +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The document titles should be explicitly passed, otherwise pandoc generates a warning and tries to guess + +Before: +``` +folly/folly/docs on master +❯ make Format.html +/usr/bin/pandoc -s -H style.css -f markdown -t html --toc -o Format.html Format.md +[WARNING] This document format requires a nonempty <title> element. + Defaulting to 'Format' as the title. + To specify a title, use 'title' in metadata or --metadata title="...". + +folly/folly/docs on master +❯ make index.html +/usr/bin/pandoc -s -H style.css -f markdown -t html --toc -o index.html *.md +[WARNING] This document format requires a nonempty <title> element. + Defaulting to 'AtomicHashMap' as the title. + To specify a title, use 'title' in metadata or --metadata title="...". +``` + +After: +``` +folly/folly/docs on fix-docs [!] +❯ make Format.html +/usr/bin/pandoc -s -H style.css -f markdown -t html --toc -o Format.html Format.md --metadata title="folly/Format.h" + +folly/folly/docs on fix-docs [!] +❯ make index.html +/usr/bin/pandoc -s -H style.css -f markdown -t html --toc -o index.html *.md --metadata title="Folly API Documentation" +``` + +Signed-off-by: Michel Alexandre Salim michel@michel-slm.name +--- + folly/docs/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/folly/docs/Makefile b/folly/docs/Makefile +index 97be3da96..3599e0ffc 100644 +--- a/folly/docs/Makefile ++++ b/folly/docs/Makefile +@@ -20,13 +20,13 @@ html: $(HTML) + $(PANDOC) -f markdown -o $*.pdf $*.md + + %.html: %.md style.css +- $(PANDOC) $(PANDOCARGS) -H style.css -f markdown -t html --toc -o $*.html $*.md ++ $(PANDOC) $(PANDOCARGS) -H style.css -f markdown -t html --toc -o $*.html $*.md --metadata title="$(shell head -n1 $*.md | sed -e 's|`||g')" + + docs.md: $(SOURCES) style.css + $(PANDOC) $(PANDOCARGS) -H style.css -f markdown -t markdown --toc -o $@ *.md + + index.html: $(SOURCES) style.css +- $(PANDOC) $(PANDOCARGS) -H style.css -f markdown -t html --toc -o $@ *.md ++ $(PANDOC) $(PANDOCARGS) -H style.css -f markdown -t html --toc -o $@ *.md --metadata title="Folly API Documentation" + + + clean: +-- +2.28.0 + diff --git a/folly.spec b/folly.spec new file mode 100644 index 0000000..ce0b329 --- /dev/null +++ b/folly.spec @@ -0,0 +1,219 @@ +# executor_api.h does not seem to get generated +%bcond_with python + +# fixed_string_test fails with "error: non-constant condition for static assertion" +%bcond_with tests + +%global _shared_builddir shared_build + +Name: folly +Version: 2020.10.26.00 +Release: 1%{?dist} +Summary: An open-source C++ library developed and used at Facebook + +License: ASL 2.0 +URL: https://github.com/facebook/folly +Source0: https://github.com/facebook/folly/releases/download/v%%7Bversion%7D/folly-v%... +# These patches can be dropped once the next release of Folly is out +Patch0: folly-v%{version}-fix_docs.patch + +# Folly is known not to work on big-endian CPUs +# will file a proper blocking bug once this is imported +ExcludeArch: s390x + +BuildRequires: cmake +BuildRequires: gcc-c++ +# Docs dependencies +BuildRequires: pandoc +# Library dependencies +# for libiberty +BuildRequires: binutils-devel +BuildRequires: boost-devel +BuildRequires: bzip2-devel +BuildRequires: double-conversion-devel +BuildRequires: fmt-devel +BuildRequires: gflags-devel +BuildRequires: glog-devel +%if %{with tests} +BuildRequires: gmock-devel +%endif +BuildRequires: libaio-devel +BuildRequires: libdwarf-devel +BuildRequires: libevent-devel +BuildRequires: libsodium-devel +BuildRequires: libunwind-devel +# 0.7-3 fixes build on armv7hl +BuildRequires: liburing-devel >= 0.7-3 +BuildRequires: libzstd-devel +BuildRequires: lz4-devel +BuildRequires: openssl-devel +%if %{with python} +BuildRequires: python3-Cython +BuildRequires: python3-devel +%endif +BuildRequires: snappy-devel +BuildRequires: xz-devel +BuildRequires: zlib-devel + +%description +Folly (acronymed loosely after Facebook Open Source Library) is a library of +C++14 components designed with practicality and efficiency in mind. Folly +contains a variety of core library components used extensively at Facebook. In +particular, it's often a dependency of Facebook's other open source C++ efforts +and place where those projects can share code. + +It complements (as opposed to competing against) offerings such as Boost and of +course std. In fact, we embark on defining our own component only when something +we need is either not available, or does not meet the needed performance +profile. We endeavor to remove things from folly if or when std or Boost +obsoletes them. + +Performance concerns permeate much of Folly, sometimes leading to designs that +are more idiosyncratic than they would otherwise be (see e.g. PackedSyncPtr.h, +SmallLocks.h). Good performance at large scale is a unifying theme in all of +Folly. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: binutils-devel%{?_isa} +Requires: boost-devel%{?_isa} +Requires: bzip2-devel%{?_isa} +Requires: cmake-filesystem +Requires: double-conversion-devel%{?_isa} +Requires: fmt-devel%{?_isa} +Requires: glog-devel%{?_isa} +Requires: gmock-devel%{?_isa} +Requires: libaio-devel%{?_isa} +Requires: libdwarf-devel%{?_isa} +Requires: libevent-devel%{?_isa} +Requires: libsodium-devel%{?_isa} +Requires: libunwind-devel%{?_isa} +Requires: liburing-devel%{?_isa} >= 0.7-3 +Requires: libzstd-devel%{?_isa} +Requires: lz4-devel%{?_isa} +Requires: openssl-devel%{?_isa} +Requires: snappy-devel%{?_isa} +Requires: xz-devel%{?_isa} +Requires: zlib-devel%{?_isa} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%package docs +Summary: Documentation for %{name} +BuildArch: noarch +Requires: %{name} = %{version}-%{release} + +%description docs +The %{name}-docs package contains documentation for %{name}. + + +%package static +Summary: Static development libraries for %{name} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} + +%description static +The %{name}-static package contains static libraries for +developing applications that use %{name}. + + +%prep +%autosetup -c -p1 + + +%build +mkdir %{_shared_builddir} +pushd %{_shared_builddir} +%cmake .. \ + -DBUILD_SHARED_LIBS=ON \ +%if %{with python} + -DPYTHON_EXTENSIONS=ON \ +%endif + -DCMAKE_INSTALL_DIR=%{_libdir}/cmake/%{name} \ + -DPACKAGE_VERSION=%{version} +%cmake_build +popd + +# static build +# let's build tests only in the static build since that's what upstream recommends anyway +%if %{with tests} +%cmake \ + -DBUILD_TESTS=ON \ +%else +%cmake \ +%endif + -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_INSTALL_DIR=%{_libdir}/cmake/%{name}-static \ + -DPACKAGE_VERSION=%{version} +%cmake_build + +# Build documentation +make -C folly/docs + + +%install +# shared build +pushd %{_shared_builddir} +%cmake_install +popd + +# static build +%cmake_install + +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' + + +%if %{with tests} +%check +%ctest +%endif + + +%files +%license LICENSE +%{_libdir}/*.so.* + +%files devel +%doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/cmake/%{name} +%{_libdir}/pkgconfig/lib%{name}.pc + +%files docs +%doc folly/docs/*.html + +%files static +%{_libdir}/*.a +%{_libdir}/cmake/%{name}-static + + +%changelog +* Mon Oct 26 2020 Michel Alexandre Salim salimma@fedoraproject.org - 2020.10.26.00-1 +- Update to 2020.10.26.00 +- Build docs +- Don't run tests if built without tests + +* Thu Oct 22 2020 Michel Alexandre Salim salimma@fedoraproject.org - 2020.10.19.00-4 +- Put static cmake support files in its own directory +- Add most folly BRs as folly-devel requirements, as dependent packages will need them + +* Wed Oct 21 2020 Michel Alexandre Salim salimma@fedoraproject.org - 2020.10.19.00-3 +- Provide both shared and static libraries + +* Tue Oct 20 2020 Michel Alexandre Salim salimma@fedoraproject.org - 2020.10.19.00-2 +- Add libiberty and zstd BRs +- Try compiling Python extensions + +* Tue Oct 20 2020 Michel Alexandre Salim salimma@fedoraproject.org - 2020.10.19.00-1 +- Update to 2020.10.19.00 +- Fix compile error on i686 +- Fix compile error on armv7hl (requires liburing >= 0.7-3) +- Exclude s390x + +* Mon Oct 12 14:54:12 PDT 2020 Michel Alexandre Salim salimma@fedoraproject.org - 2020.10.12.00-1 +- Initial package diff --git a/sources b/sources new file mode 100644 index 0000000..f3756ad --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (folly-v2020.10.26.00.tar.gz) = c5de05248f5f915c1c530a4f299e27fd7f816aee1ecfb7f00910bfba26d7d3a18516feacdb059c2315837aa090b5d8785d89780d31d5c242522a1f9ed4cddea4