]> git.pld-linux.org Git - packages/rpm-pld-macros.git/blobdiff - macros.pld
explicitly set CMAKE_SYSTEM_{NAME,PROCESSOR} in %cmake; rel 2
[packages/rpm-pld-macros.git] / macros.pld
index d65137d6f045cd14078046e2d4047dd262183dbb..4fbcd17368ff99feac10ab1f04c5b6c820b02f40 100644 (file)
 #
 %_sharedstatedir       /var/lib
 %_localstatedir                /var
-%_initrddir            %{_sysconfdir}/rc.d/init.d
+%_localedir                    %{_datadir}/locale
+%_lispdir                      %{_datadir}/emacs/site-lisp
+%_initddir                     %{_sysconfdir}/rc.d/init.d
+
+%_metainfodir  %{_datadir}/metainfo
 
 %_defaultdocdir                %{_usr}/share/doc
 
 #      Template for debug information sub-package.
 %_enable_debug_packages                1
 
-%debug_package \
-%ifnarch noarch\
-%global __debug_package 1\
+%_debuginfo_template \
 %package debuginfo\
 Summary: Debug information for package %{name}\
 Summary(pl.UTF-8): Informacje dla debuggera dla pakietu %{name}\
@@ -115,6 +117,32 @@ Informacje te są przydatne przy rozwijaniu aplikacji używających tego\
 pakietu oraz przy odpluskwianiu samego pakietu.\
 %files debuginfo -f debugfiles.list\
 %defattr(-,root,root)\
+%{nil}
+
+%_debugsource_template \
+%package debugsource\
+Summary: Debug sources for package %{name}\
+Summary(pl.UTF-8): Źródła dla debuggera dla pakietu %{name}\
+Group: Development/Debug\
+AutoReqProv: 0\
+%description debugsource\
+This package provides debug sources for package %{name}.\
+Debug sources are useful when developing applications that use this\
+package or when debugging this package.\
+%description debugsource -l pl.UTF-8\
+Ten pakiet dostarcza źródła dla debuggera dla pakietu %{name}.\
+Źródła te są przydatne przy rozwijaniu aplikacji używających tego\
+pakietu oraz przy odpluskwianiu samego pakietu.\
+%files debugsource -f debugsourcefiles.list\
+%{nil}
+
+%debug_package \
+%ifnarch noarch\
+%global __debug_package 1\
+%_debuginfo_template\
+%if 0%{?_debugsource_packages}\
+%_debugsource_template\
+%endif\
 %endif\
 %{nil}
 
@@ -167,7 +195,7 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
 %debugcppflags %{nil}
 %debugldflags  %{nil}
 
-%optldflags    -Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,relro -Wl,-z,combreloc
+%optldflags    -Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,relro -Wl,-z,combreloc %{?use_ld:-Wl,-fuse-ld=%{use_ld}}
 %optcppflags   %{nil}
 
 # common compilation flags
@@ -223,7 +251,7 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
 %__make                /usr/bin/make %{?_make_opts} %{?_smp_mflags}
 %__scons       /usr/bin/scons %{?_smp_mflags}
 %__waf         /usr/bin/waf %{?_smp_mflags}
-%__cmake       /usr/bin/cmake -Wno-dev
+%__cmake       /usr/bin/cmake
 %__meson       /usr/bin/meson
 %__meson_wrap_mode     nodownload
 %__ninja       /usr/bin/ninja
@@ -255,10 +283,10 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
        elif [ -d $HOME/rpm/SPECS -a -d $HOME/rpm/SOURCES ]; then \
                # if old style rpm dir exist, go with it
                echo $HOME/rpm; \
-       elif [ -x ../builder -a ! -d ../builder ]; then
+       elif [ -x ../builder -a ! -d ../builder ] && [ "$(realpath -s ../builder)" != "/usr/bin/builder" ]; then
                # relative new style rpmdir: in package dir
                cd ..; pwd
-       elif [ -x builder -a ! -d builder ]; then
+       elif [ -x builder -a ! -d builder ] && [ "$(realpath -s builder)" != "/usr/bin/builder" ]; then
                # relative new style rpmdir: in packages
                pwd
        elif [ -x packages/builder -a ! -d packages/builder ]; then
@@ -457,8 +485,11 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
 %{?__cxx:CXX="${CXX:-%{__cxx}}"} \\\
 CPPFLAGS="${CPPFLAGS:-%{rpmcppflags}}" \\\
 %{__cmake} \\\
-       -DCMAKE_VERBOSE_MAKEFILE=BOOL:ON \\\
+       -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\
        -DCMAKE_BUILD_TYPE=%{!?debug:PLD}%{?debug:Debug} \\\
+       -DCMAKE_SYSTEM_NAME=Linux \\\
+       -DCMAKE_CROSSCOMPILING:BOOL=FALSE \\\
+       -DCMAKE_SYSTEM_PROCESSOR=%{_target_cpu} \\\
        -DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \\\
        -DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \\\
        -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \\\
@@ -523,6 +554,8 @@ CFLAGS="${CFLAGS:-%{rpmcflags}}" \
 CPPFLAGS="${CPPFLAGS:-%{rpmcppflags}}" \
 CXXFLAGS="${CXXFLAGS:-%{rpmcxxflags}}" \
 LDFLAGS="${LDFLAGS:-%{rpmldflags}}" \
+RUSTC="${RUSTC:-%{__rustc}}" \
+RUSTFLAGS="${RUSTFLAGS:-%{rpmrustflags} --target %rust_target}" \
 LC_ALL=C.UTF-8 %{__meson} \
        --buildtype=plain \
        --bindir=%{_bindir} \
@@ -625,6 +658,10 @@ LC_ALL=C.UTF-8 %{__meson} \
 %__true_false() %{expand:%%{?with_%{1}:true}%%{!?with_%{1}:false}}
 %__true_false_not() %{expand:%%{?with_%{1}:false}%%{!?with_%{1}:true}}
 
+# expands to enabled or disabled based on bcond; for use with meson or cmake
+%__enabled_disabled() %{expand:%%{?with_%{1}:enabled}%%{!?with_%{1}:disabled}}
+%__enabled_disabled_not() %{expand:%%{?with_%{1}:disabled}%%{!?with_%{1}:enabled}}
+
 # for use with cmake:
 # Usage: cmake_on_off BCOND_NAME [OPTION_NAME]
 # BuildRequires: rpmbuild(macros) >= 1.742
@@ -640,6 +677,8 @@ LC_ALL=C.UTF-8 %{__meson} \
 %%prep\
 %{nil}
 
+%_build_id_links       %{expand:%%define __dic_%{?_enable_debug_packages} 1}%{?__dic_1:alldebug}%{?__dic_0:none}%{expand:%%undefine __dic_%{?_enable_debug_packages}}
+
 # If non-empty "debug" macro defined, add "dbg" suffix to release number
 %_rpmfilename          %%{NAME}-%%{VERSION}-%%{RELEASE}%{?debug:dbg}.%%{ARCH}.rpm
 
@@ -657,12 +696,12 @@ LC_ALL=C.UTF-8 %{__meson} \
 # Requires: name = version
 %requires_eq()         %{!?1:ERROR}%{?2:ERROR}%{?1:%{!?2:%{expand:%%requires_eq_to %1 %1}}}
 # Requires: name = version (version based on querying package %2)
-%requires_eq_to(r)     %{!?2:ERROR}%{?3:ERROR}%{?2:%{!?3:%(if ! LC_ALL=C rpm -q --qf 'Requires: %1 = %|E?{%{E}:}|%{V}%{?-r:-%{R}}\\n' %2 | grep '^Requires:'; then echo "BuildRequires: %2"; fi)}}
+%requires_eq_to(r)     %{!?2:ERROR}%{?3:ERROR}%{?2:%{!?3:%(if ! LC_ALL=C rpm -q --whatprovides --qf 'Requires: %1 = %|E?{%{E}:}|%{V}%{?-r:-%{R}}\\n' %2 | grep '^Requires:'; then echo "BuildRequires: %2"; fi)}}
 
 # Requires: name >= version
 %requires_ge()         %{!?1:ERROR}%{?2:ERROR}%{?1:%{!?2:%{expand:%%requires_ge_to %1 %1}}}
 # Requires: name >= version (version based on querying package %2)
-%requires_ge_to(r)     %{!?2:ERROR}%{?3:ERROR}%{?2:%{!?3:%(if ! LC_ALL=C rpm -q --qf 'Requires: %1 >= %|E?{%{E}:}|%{V}%{?-r:-%{R}}\\n' %2 | grep '^Requires:'; then echo "BuildRequires: %2"; fi)}}
+%requires_ge_to(r)     %{!?2:ERROR}%{?3:ERROR}%{?2:%{!?3:%(if ! LC_ALL=C rpm -q --whatprovides --qf 'Requires: %1 >= %|E?{%{E}:}|%{V}%{?-r:-%{R}}\\n' %2 | grep '^Requires:'; then echo "BuildRequires: %2"; fi)}}
 
 # helper for renaming packages
 # %rename old-package
@@ -675,6 +714,12 @@ Provides: %{1} = %{?epoch:%{epoch}:}%{?version:%{version}}%{?release:-%{release}
 %_ver_lt()     %(test $(rpmvercmp "%{1}" "%{2}" >/dev/null 2>&1; echo $?) -ne 2; echo $?)
 %_ver_ge()     %(test $(rpmvercmp "%{1}" "%{2}" >/dev/null 2>&1; echo $?) -eq 2; echo $?)
 
+# noarch subpackage helper
+# BuildRequires:       rpmbuild(macros) >= 1.752
+%noarchpackage \
+BuildArch:             noarch \
+%{nil}
+
 %apache_modules_api %{expand:%%global apache_modules_api %(awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' /usr/include/apache/ap_mmn.h 2>/dev/null || echo ERROR)}%apache_modules_api
 
 # sgml macros
@@ -1100,6 +1145,14 @@ fi; \
 };} \
 %{nil}
 
+# BuildRequires:       rpmbuild(macros) >= 1.751
+# Requires(post,postun):       /usr/bin/texhash        # if you want to ensure cache is updated
+%texhash() {{ \
+       umask 022; \
+       /usr/bin/texhash >&2; \
+};} \
+%{nil}
+
 #-----------------------------------------------------------------
 # post %install sequence:
 # - autodeps exceptions
@@ -1113,7 +1166,6 @@ fi; \
 #
 %__noautoreqfiles      %(sed -e s'/#.*//' /etc/rpm/noautoreqfiles)%{?_noautoreqfiles: %{_noautoreqfiles}}
 %__noautoprovfiles     %(sed -e s'/#.*//' /etc/rpm/noautoprovfiles)%{?_noautoprovfiles: %{_noautoprovfiles}}
-%__noautoreqdep                %(sed -e s'/#.*//' /etc/rpm/noautoreqdep)%{?_noautoreqdep: %{_noautoreqdep}}
 %__noautoprov          %(sed -e s'/#.*//' /etc/rpm/noautoprov) \
        %{?_noautoprov: %{_noautoprov}} \
        %{?_noautoprov_java: %{__noauto_regexp_helper -p java %{_noautoprov_java}}} \
@@ -1125,6 +1177,7 @@ fi; \
        %{nil}
 %__noautoreq           %(sed -e s'/#.*//' /etc/rpm/noautoreq) \
        %{?_noautoreq: %{_noautoreq}} \
+       %{?_noautoreqdep: %{_noautoreqdep}} \
        %{?_noautoreq_java: %{__noauto_regexp_helper -p java %{_noautoreq_java}}} \
        %{?_noautoreq_mono: %{__noauto_regexp_helper -p mono %{_noautoreq_mono}}} \
        %{?_noautoreq_pear: %{__noauto_regexp_helper -p pear %{_noautoreq_pear}}} \
@@ -1133,6 +1186,29 @@ fi; \
        %{?_noautoreq_py3egg: %{__noauto_regexp_helper -p python3egg %{_noautoreq_py3egg}}} \
        %{nil}
 
+%__noautodep_helper() %(echo '%*' | awk 'BEGIN {
+       RS = "\n([ \t]+\n)+";
+       FS = " ";
+}
+{
+       split($0, F);
+       if (length(F) > 0) {
+               printf("(");
+               for (i=1; i<=length(F); i++) {
+                       s = F[i];
+                       sub(/#.*/, "z&z", s);
+                       if (s ~ /^$/) { continue; };
+                       printf(s);
+                       if (i != length(F)) { printf("|"); };
+               };
+               printf(")");
+       }
+}')
+%__requires_exclude_from       %{__noautodep_helper %{__noautoreqfiles}}%{nil}
+%__provides_exclude_from       %{__noautodep_helper %{__noautoprovfiles}}%{nil}
+%__requires_exclude                    %{__noautodep_helper %{__noautoreq}}%{nil}
+%__provides_exclude                    %{__noautodep_helper %{__noautoprov}}%{nil}
+
 # helper for wrapping _noautoreq between perl() or pear()
 # Author: Elan Ruusamäe <glen@pld-linux.org>
 # Usage:
@@ -1154,7 +1230,7 @@ fi; \
 # %define _noautoprov_pyegg excluded
 # %define _noautoprov_py3egg excluded3
 #
-%__noauto_regexp_helper(p:) %(echo "%*" | awk 'BEGIN{RS=" "}{printf("%{-p*}%{__qchar}(%%s%{__qchar}) ", $1)}')
+%__noauto_regexp_helper(p:) %(echo '%*' | awk 'BEGIN{RS=" "}{printf("%{-p*}%{__qchar}(%%s%{__qchar}) ", $1)}')
 # detect quote character runtime
 %__qchar_4 \\\\%{nil}
 %__qchar_5 \\\\\\%{nil}
This page took 0.036096 seconds and 4 git commands to generate.