Something went wrong. Try again.
Maps Linux distribution source packages to their upstream repositories, and through them to each other
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301## spec file for package curl## Copyright (c) 2026 SUSE LLC and contributors# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>## All modifications and additions to the file contributed by third parties# remain the property of their copyright owners, unless otherwise agreed# upon. The license for this file, and modifications and additions to the# file, is the same license as for the pristine package itself (unless the# license for the pristine package is not an Open Source License, in which# case the license is the MIT License). An "Open Source License" is a# license that conforms to the Open Source Definition (Version 1.9)# published by the Open Source Initiative.# Please submit bugfixes or comments via https://bugs.opensuse.org/#%bcond_without testsuite# need ssl always for python-pycurl%bcond_without openssl%define target @BUILD_FLAVOR@%{nil}%if "%{target}" == "mini"%bcond_without mini%global psuffix -mini%else%bcond_with mini%global psuffix %{nil}%endif%if 0%{?suse_version} >= 1699%bcond_without quic%else%bcond_with quic%endifName: curl%{?psuffix}Version: 8.22.0Release: 0Summary: A Tool for Transferring Data from URLsLicense: curlURL: https://curl.seSource: https://curl.se/download/curl-%{version}.tar.xzSource2: https://curl.se/download/curl-%{version}.tar.xz.ascSource3: baselibs.confSource4: https://daniel.haxx.se/mykey.asc#/curl.keyringSource5: curl-mini.rpmlintrcPatch0: libcurl-ocloexec.patchPatch1: dont-mess-with-rpmoptflags.patchPatch2: curl-secure-getenv.patchBuildRequires: groffBuildRequires: libtoolBuildRequires: pkgconfigBuildRequires: pkgconfig(libidn2)# Disable metalink [bsc#1188218, CVE-2021-22923][bsc#1188217, CVE-2021-22922]# BuildRequires: pkgconfig(libmetalink)BuildRequires: pkgconfig(libnghttp2)%if %{with quic}BuildRequires: pkgconfig(libnghttp3)BuildRequires: pkgconfig(libngtcp2_crypto_ossl)%endifBuildRequires: pkgconfig(libpsl)BuildRequires: pkgconfig(libzstd)BuildRequires: pkgconfig(zlib)Requires: libcurl4 = %{version}%if %{with openssl}BuildRequires: pkgconfig(libssl)%endif%if !%{with mini}BuildRequires: openldap2-develBuildRequires: pkgconfig(krb5)BuildRequires: pkgconfig(libbrotlidec)BuildRequires: pkgconfig(libssh) >= 0.9.0%endif%if 0%{?_with_stunnel:1}# used by the testsuiteBuildRequires: stunnel%endif%descriptionCurl is a client to get documents and files from or send documents to aserver using any of the supported protocols (HTTP, HTTPS, FTP, FTPS,TFTP, DICT, TELNET, LDAP, or FILE). The command is designed to workwithout user interaction or any kind of interactivity.%package -n libcurl%{?psuffix}4Summary: Library for transferring data from URLs%if %{with mini}Provides: libcurl4 = %{version}%elseObsoletes: libcurl-mini4 <= %{version}%endif%description -n libcurl%{?psuffix}4The cURL shared library for accessing data using differentnetwork protocols.%if !%{with mini}%package -n libcurl-develSummary: Development files for the curl libraryRequires: glibc-develRequires: libcurl4 = %{version}Provides: curl-devel = %{version}Obsoletes: curl-devel < %{version}%description -n libcurl-develCurl is a client to get documents and files from or send documents to aserver using any of the supported protocols (HTTP, HTTPS, FTP, GOPHER,DICT, TELNET, LDAP, or FILE). The command is designed to work withoutuser interaction or any kind of interactivity.%package -n libcurl-devel-docSummary: Manual pages for libcurlProvides: libcurl-devel:%{_mandir}/man1/curl-config.1%{?ext_man}BuildArch: noarch%description -n libcurl-devel-docManual pages for the libcurl C API.%package fish-completionSummary: Fish completion for curlGroup: System/ShellsRequires: fishSupplements: (curl and fish)BuildArch: noarch%description fish-completionFish command line completion support for %name.%package zsh-completionSummary: Zsh Completion for %nameGroup: System/ShellsRequires: zshSupplements: (curl and zsh)BuildArch: noarch%description zsh-completionZSH command line completion support for %name.%package -n wcurlSummary: simple wrapper around curl to easily download filesRequires: curl >= %{version}Obsoletes: wcurl >= 2025%description -n wcurlA simple curl wrapper which lets you use curl to download fileswithout having to remember any parameters.Simply call wcurl with a list of URLs you want to download andwcurl will pick sane defaults.%endif%prep%autosetup -p1 -n curl-%{version}%build# curl complains if macro definition is contained in CFLAGS# see m4/xc-val-flgs.m4CPPFLAGS="-D_FORTIFY_SOURCE=2"CFLAGS=$(echo "%{optflags}" | sed -e 's/-D_FORTIFY_SOURCE=2//')export CPPFLAGSexport CFLAGS="$CFLAGS -fPIE"export LDFLAGS="$LDFLAGS -Wl,-z,defs,-z,now,-z,relro -pie"autoreconf -fiv# local hack to make curl-config --libs stop printing libraries it depends on# (currently, libtool sets link_all_deplibs=(yes|unknown) everywhere,# will hopefully change in the future)sed -i 's/\(link_all_deplibs=\)unknown/\1no/' configure%configure \ --enable-hsts \ --enable-ipv6 \%if %{with openssl} --with-openssl \ --with-ca-fallback \ --without-ca-path \ --without-ca-bundle \%else --without-openssl \%endif --with-libidn2 \ --with-nghttp2 \%if %{with quic} --with-nghttp3 \ --with-ngtcp2 \%endif --enable-docs \%if %{with mini} --disable-dict \ --disable-ftp \ --disable-gopher \ --disable-imap \ --disable-mqtt \ --disable-pop3 \ --disable-rtsp \ --disable-smtp \ --disable-telnet \ --disable-tftp \ --disable-tls-srp \ --disable-websockets \ --without-brotli \ --without-libssh \%else --with-gssapi=$(krb5-config --prefix) \ --with-brotli \ --with-libssh \%endif --enable-symbol-hiding \ --enable-ntlm \ --disable-static \ --enable-threaded-resolver \ --with-zsh-functions-dir=%{_datadir}/zsh/site-functions/ \ --with-fish-functions-dir=%{_datadir}/fish/vendor_completions.d# if this fails, the above sed hack did not work./libtool --config | grep -q link_all_deplibs=no# enable-hidden-symbols needs gcc4 and causes that curl exports only its API%make_build%if %{with testsuite}%checkpushd tests%make_buildfind -type f -name "*.pl" -exec sed -i 's|#!.*/usr/bin/env perl|#!/usr/bin/perl|' "{}" +find -type f -name "*.py" -exec sed -i 's|#!.*/usr/bin/env python.*|#!/usr/bin/python3|' "{}" +perl ./runtests.pl -a -v -p '!flaky' || exitpopd%endif%install%make_installrm -f %{buildroot}%{_libdir}/libcurl.la%if %{with mini}rm -rv %{buildroot}%{_includedir}/curl %{buildroot}/%{_libdir}/pkgconfig %{buildroot}%{_datadir}rm -v %{buildroot}%{_bindir}/curl %{buildroot}%{_bindir}/curl-config %{buildroot}%{_libdir}/libcurl.so%elseinstall -Dm 0644 docs/libcurl/libcurl.m4 %{buildroot}%{_datadir}/aclocal/libcurl.m4pushd scripts%make_installpopd%endif%if 0%{?sle_version} < 150400%post -n libcurl%{?psuffix}4 -p /sbin/ldconfig%postun -n libcurl%{?psuffix}4 -p /sbin/ldconfig%else%ldconfig_scriptlets -n libcurl%{?psuffix}4%endif%files -n libcurl%{?psuffix}4%license COPYING%{_libdir}/libcurl.so.4*%if %{with mini}%exclude %{_bindir}/wcurl%endif%if !%{with mini}%files%license COPYING%doc README RELEASE-NOTES CHANGES.md%doc docs/{BUGS.md,FAQ,FEATURES.md,TODO,TheArtOfHttpScripting.md}%{_bindir}/curl%{_mandir}/man1/curl.1%{?ext_man}%files -n wcurl%license COPYING%{_bindir}/wcurl%{_mandir}/man1/wcurl.1%{?ext_man}%files zsh-completion%license COPYING%dir %{_datadir}/zsh%dir %{_datadir}/zsh/site-functions%{_datadir}/zsh/site-functions/_curl%files fish-completion%license COPYING%dir %{_datadir}/fish/%dir %{_datadir}/fish/vendor_completions.d/%{_datadir}/fish/vendor_completions.d/curl.fish%files -n libcurl-devel%license COPYING%{_bindir}/curl-config%{_includedir}/curl%dir %{_datadir}/aclocal/%{_datadir}/aclocal/libcurl.m4%{_libdir}/libcurl.so%{_libdir}/pkgconfig/libcurl.pc%files -n libcurl-devel-doc%license COPYING%{_mandir}/man1/curl-config.1%{?ext_man}%{_mandir}/man3/*%doc docs/libcurl/symbols-in-versions%endif%changelog