Adam Majer 2023-03-13 16:48:13 +00:00 committed by Git OBS Bridge
parent 25e9792969
commit dc4011dd72

View File

@ -1,7 +1,7 @@
# #
# spec file for package nodejs18 # spec file for package nodejs18
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2022 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -15,7 +15,17 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
###########################################################
#
# WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
#
# This spec file is generated from a template hosted at
# https://github.com/AdamMajer/nodejs-packaging
#
###########################################################
# Fedora doesn't have rpm-config-SUSE which provides
# ext_man in /usr/lib/rpm/macros.d/macros.obs
%if 0%{?fedora_version} %if 0%{?fedora_version}
%define ext_man .gz %define ext_man .gz
%endif %endif
@ -119,12 +129,12 @@ Source1: https://nodejs.org/dist/v%{version}/SHASUMS256.txt
Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig
Source3: nodejs.keyring Source3: nodejs.keyring
# Python 3.4 compatible node-gyp # Python 3.4 compatible node-gyp
### https://github.com/nodejs/node-gyp.git ### https://github.com/nodejs/node-gyp.git
### git archive v7.1.2 | xz > node-gyp_7.1.2.tar.xz ### git archive v7.1.2 | xz > node-gyp_7.1.2.tar.xz
Source5: node-gyp_7.1.2.tar.xz Source5: node-gyp_7.1.2.tar.xz
# Only required to run unit tests in NodeJS 10+ # Only required to run unit tests in NodeJS 10+
Source10: update_npm_tarball.sh Source10: update_npm_tarball.sh
Source11: node_modules.tar.xz Source11: node_modules.tar.xz
Source20: bash_output_helper.bash Source20: bash_output_helper.bash
@ -135,6 +145,8 @@ Patch5: sle12_python3_compat.patch
Patch7: manual_configure.patch Patch7: manual_configure.patch
Patch13: openssl_binary_detection.patch Patch13: openssl_binary_detection.patch
## Patches specific to SUSE and openSUSE ## Patches specific to SUSE and openSUSE
Patch100: linker_lto_jobs.patch Patch100: linker_lto_jobs.patch
# PATCH-FIX-OPENSUSE -- set correct path for dtrace if it is built # PATCH-FIX-OPENSUSE -- set correct path for dtrace if it is built
@ -160,8 +172,8 @@ Patch200: versioned.patch
Patch305: qemu_timeouts_arches.patch Patch305: qemu_timeouts_arches.patch
BuildRequires: fdupes
BuildRequires: pkg-config BuildRequires: pkg-config
BuildRequires: fdupes
BuildRequires: procps BuildRequires: procps
BuildRequires: xz BuildRequires: xz
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -181,10 +193,10 @@ BuildRequires: config(netcfg)
%if 0%{?suse_version} == 1110 %if 0%{?suse_version} == 1110
# GCC 5 is only available in the SUSE:SLE-11:SP4:Update repository (SDK). # GCC 5 is only available in the SUSE:SLE-11:SP4:Update repository (SDK).
%if %node_version_number >= 8 %if %node_version_number >= 8
BuildRequires: gcc5-c++ BuildRequires: gcc5-c++
%define forced_gcc_version 5 %define forced_gcc_version 5
%else %else
BuildRequires: gcc48-c++ BuildRequires: gcc48-c++
%define forced_gcc_version 4.8 %define forced_gcc_version 4.8
%endif %endif
%endif %endif
@ -194,15 +206,15 @@ BuildRequires: gcc48-c++
# for SLE-12:Update targets # for SLE-12:Update targets
%if 0%{?suse_version} == 1315 %if 0%{?suse_version} == 1315
%if %node_version_number >= 17 %if %node_version_number >= 17
BuildRequires: gcc12-c++ BuildRequires: gcc12-c++
%define forced_gcc_version 12 %define forced_gcc_version 12
%else %else
%if %node_version_number >= 14 %if %node_version_number >= 14
BuildRequires: gcc9-c++ BuildRequires: gcc9-c++
%define forced_gcc_version 9 %define forced_gcc_version 9
%else %else
%if %node_version_number >= 8 %if %node_version_number >= 8
BuildRequires: gcc7-c++ BuildRequires: gcc7-c++
%define forced_gcc_version 7 %define forced_gcc_version 7
%endif %endif
%endif %endif
@ -211,7 +223,7 @@ BuildRequires: gcc7-c++
%if 0%{?suse_version} == 1500 %if 0%{?suse_version} == 1500
%if %node_version_number >= 17 %if %node_version_number >= 17
BuildRequires: gcc12-c++ BuildRequires: gcc12-c++
%define forced_gcc_version 12 %define forced_gcc_version 12
%endif %endif
%endif %endif
@ -222,6 +234,7 @@ BuildRequires: gcc12-c++
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
# Python dependencies # Python dependencies
%if %node_version_number >= 14 %if %node_version_number >= 14
@ -247,8 +260,8 @@ BuildRequires: python
%endif %endif
%if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10 %if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10
BuildRequires: group(nobody)
BuildRequires: user(nobody) BuildRequires: user(nobody)
BuildRequires: group(nobody)
%endif %endif
# shared openssl # shared openssl
@ -263,10 +276,11 @@ BuildRequires: openssl >= %{openssl_req_ver}
BuildRequires: (libopenssl1_1-hmac if libopenssl-1_1-devel) BuildRequires: (libopenssl1_1-hmac if libopenssl-1_1-devel)
BuildRequires: (libopenssl3-hmac if libopenssl-3-devel) BuildRequires: (libopenssl3-hmac if libopenssl-3-devel)
%else %else
BuildRequires: libopenssl1_1-hmac
BuildRequires: openssl-1_1 >= %{openssl_req_ver} BuildRequires: openssl-1_1 >= %{openssl_req_ver}
BuildRequires: libopenssl1_1-hmac
%endif %endif
# /suse_version # /suse_version
%endif %endif
@ -310,7 +324,7 @@ BuildRequires: valgrind
%if %{with libalternatives} %if %{with libalternatives}
Suggests: alts Suggests: alts
%else %else
Requires(postun):%{_sbindir}/update-alternatives Requires(postun): %{_sbindir}/update-alternatives
%endif %endif
# either for update-alternatives, or their removal # either for update-alternatives, or their removal
Requires(post): %{_sbindir}/update-alternatives Requires(post): %{_sbindir}/update-alternatives
@ -349,8 +363,8 @@ ExclusiveArch: not_buildable
%endif %endif
%endif %endif
Provides: bundled(libuv) = 1.44.2
Provides: bundled(uvwasi) = 0.0.15 Provides: bundled(uvwasi) = 0.0.15
Provides: bundled(libuv) = 1.44.2
Provides: bundled(v8) = 10.2.154.26 Provides: bundled(v8) = 10.2.154.26
%if %{with intree_brotli} %if %{with intree_brotli}
Provides: bundled(brotli) = 1.0.9 Provides: bundled(brotli) = 1.0.9
@ -358,12 +372,14 @@ Provides: bundled(brotli) = 1.0.9
BuildRequires: pkgconfig(libbrotlidec) BuildRequires: pkgconfig(libbrotlidec)
%endif %endif
Provides: bundled(base64) = 0.5.0
Provides: bundled(llhttp) = 6.0.10 Provides: bundled(llhttp) = 6.0.10
Provides: bundled(ngtcp2) = 0.8.1 Provides: bundled(ngtcp2) = 0.8.1
Provides: bundled(base64) = 0.5.0
Provides: bundled(simdutf) = 3.1.0 Provides: bundled(simdutf) = 3.1.0
# bundled url-ada parser, not ada # bundled url-ada parser, not ada
Provides: bundled(node-acorn) = 8.8.2 Provides: bundled(node-acorn) = 8.8.2
Provides: bundled(node-acorn-walk) = 8.2.0 Provides: bundled(node-acorn-walk) = 8.2.0
Provides: bundled(node-busboy) = 1.6.0 Provides: bundled(node-busboy) = 1.6.0
@ -381,8 +397,8 @@ provided by npm.
Summary: Development headers for NodeJS 18.x Summary: Development headers for NodeJS 18.x
Group: Development/Languages/NodeJS Group: Development/Languages/NodeJS
Provides: nodejs-devel = %{version} Provides: nodejs-devel = %{version}
Requires: %{name} = %{version}
Requires: npm18 = %{version} Requires: npm18 = %{version}
Requires: %{name} = %{version}
%description devel %description devel
This package provides development headers for Node.js needed for creation This package provides development headers for Node.js needed for creation
@ -399,12 +415,12 @@ Requires: nodejs-common
Requires: nodejs18 = %{version} Requires: nodejs18 = %{version}
Provides: nodejs-npm = %{version} Provides: nodejs-npm = %{version}
Obsoletes: nodejs-npm < 4.0.0 Obsoletes: nodejs-npm < 4.0.0
Provides: npm = %{version}
Provides: npm(npm) = 9.5.0 Provides: npm(npm) = 9.5.0
Provides: npm = %{version}
%if 0%{?suse_version} >= 1500 %if 0%{?suse_version} >= 1500
%if %{node_version_number} >= 10 %if %{node_version_number} >= 10
Requires: group(nobody)
Requires: user(nobody) Requires: user(nobody)
Requires: group(nobody)
%endif %endif
%endif %endif
Provides: bundled(node-abbrev) = 1.1.1 Provides: bundled(node-abbrev) = 1.1.1
@ -583,8 +599,8 @@ Provides: bundled(node-spdx-expression-parse) = 3.0.1
Provides: bundled(node-spdx-license-ids) = 3.0.12 Provides: bundled(node-spdx-license-ids) = 3.0.12
Provides: bundled(node-ssri) = 10.0.1 Provides: bundled(node-ssri) = 10.0.1
Provides: bundled(node-ssri) = 9.0.1 Provides: bundled(node-ssri) = 9.0.1
Provides: bundled(node-string-width) = 4.2.3
Provides: bundled(node-string_decoder) = 1.1.1 Provides: bundled(node-string_decoder) = 1.1.1
Provides: bundled(node-string-width) = 4.2.3
Provides: bundled(node-strip-ansi) = 6.0.1 Provides: bundled(node-strip-ansi) = 6.0.1
Provides: bundled(node-supports-color) = 7.2.0 Provides: bundled(node-supports-color) = 7.2.0
Provides: bundled(node-tar) = 6.1.13 Provides: bundled(node-tar) = 6.1.13
@ -703,6 +719,8 @@ find -name \*~ -print0 -delete
# abnormalities from patching # abnormalities from patching
find \( -name \*.js.orig -or -name \*.md.orig -or -name \*.1.orig \) -delete find \( -name \*.js.orig -or -name \*.md.orig -or -name \*.1.orig \) -delete
%build %build
# normalize shebang # normalize shebang
%if %{node_version_number} >= 12 %if %{node_version_number} >= 12
@ -1057,7 +1075,6 @@ update-alternatives --remove npm-default %{_bindir}/npm%{node_version_number}
update-alternatives --remove npx-default %{_bindir}/npx%{node_version_number} update-alternatives --remove npx-default %{_bindir}/npx%{node_version_number}
%else %else
%pre %pre
# remove files that are no longer owned but provided by update-alternatives # remove files that are no longer owned but provided by update-alternatives
if ! [ -L %{_mandir}/man1/node.1%{ext_man} ]; then if ! [ -L %{_mandir}/man1/node.1%{ext_man} ]; then