summaryrefslogtreecommitdiffstats
path: root/njs.spec
blob: c76f8f9591efca19d66bc8fa1374e137d6c77526 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# remirepo/fedora spec file for njs
#
# Copyright (c) 2023-2024 Remi Collet
# License: CC-BY-SA-4.0
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#

%bcond_without      tests
# require ONLINE build for sources download
%bcond_with         wasm

%global gh_owner    nginx
%global project     njs
%global gh_commit   9d4bf6c60aa60a828609f64d1b5c50f71bb7ef62
%global gh_short    %(c=%{gh_commit}; echo ${c:0:7})

Name:              %{project}
Summary:           NGINX JavaScript
Version:           0.8.5
Release:           1%{?dist}
License:           BSD-2-Clause
URL:               https://github.com/%{gh_owner}/%{project}

Source0:           https://github.com/%{gh_owner}/%{project}/archive/%{gh_commit}/%{project}-%{version}-%{gh_short}.tar.gz

BuildRequires:     make
BuildRequires:     gcc
BuildRequires:     openssl-devel
BuildRequires:     pcre2-devel
BuildRequires:     libxml2-devel
BuildRequires:     zlib-devel
# Only for command
BuildRequires:     libedit-devel
# For tests
BuildRequires:     expect


%description
NGINX JavaScript (njs).

njs is a subset of the JavaScript language that allows extending nginx
functionality. njs is created in compliance with ECMAScript 5.1 (strict mode)
with some ECMAScript 6 and later extensions. The compliance is still evolving.


%package -n libnjs-devel
Summary: libnjs development files
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: openssl-devel
Requires: pcre2-devel
Requires: libxml2-devel
Requires: zlib-devel

%description -n libnjs-devel
Library and include files required for libnjs.


%prep
%setup -qn %{project}-%{gh_commit}


%build
./configure

make %{?_smp_mflags}
make pc

# Fix pkgconfig
sed -e '/^prefix/s|=.*$|=%{_prefix}|' \
    -e '/^libdir/s|=.*$|=%{_libdir}|' \
    -e '/^Cflags/s|:.*$|: -I%{_includedir}/njs|' \
    build/njs.pc | tee build/njs.pcx


%install
# Library
install -dm 0755                %{buildroot}%{_includedir}/njs/
install -pm 0644 */njs*.h       %{buildroot}%{_includedir}/njs/
install -dm 0755                %{buildroot}%{_libdir}/pkgconfig
install -pm 0755 build/libnjs.a %{buildroot}%{_libdir}
install -pm 0755 build/njs.pcx  %{buildroot}%{_libdir}/pkgconfig/njs.pc
# Command
install -dm 0755                %{buildroot}%{_bindir}
install -pm 0755 build/njs      %{buildroot}%{_bindir}


%if %{with tests}
%check
make test %{?_smp_mflags}
%endif


%files
%{!?_licensedir:%global license %%doc}
%license LICENSE
%{_bindir}/njs

%files -n libnjs-devel
%license LICENSE
%doc CHANGES
%{_libdir}/libnjs.a
%{_includedir}/njs
%{_libdir}/pkgconfig/njs.pc


%changelog
* Wed Jul  3 2024 Remi Collet <remi@remirepo.net> - 0.8.5-1
- update to 0.8.5

* Tue Apr 16 2024 Remi Collet <remi@remirepo.net> - 0.8.4-1
- update to 0.8.4
- report test failure with zlib-ng
  https://github.com/nginx/njs/issues/704

* Thu Feb  8 2024 Remi Collet <remi@remirepo.net> - 0.8.3-1
- update to 0.8.3

* Tue Dec 19 2023 Remi Collet <remi@remirepo.net> - 0.8.2-1
- initial package