summaryrefslogtreecommitdiff
path: root/gnustep-base.spec
blob: ce28e3cd14df09e1122165a171a582e257900dab (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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
Name:                gnustep-base
Version:             1.30.0
Release:             1
License:             GPL-3.0-or-later and LGPL-2.0-or-later
Summary:             GNUstep Base library package
URL:                 https://www.gnustep.org/
Source0:             https://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz
Patch0:              %{name}-use_system-wide_crypto-policies.patch
BuildRequires:       gcc-objc libffi-devel >= 3.0.9 gnutls-devel libxml2-devel libxslt-devel
BuildRequires:       pkgconfig gnustep-make >= 2.0.0 avahi-compat-libdns_sd-devel gmp-devel
BuildRequires:       texi2html texinfo-tex libicu-devel texi2html
Requires:            %{name}-libs%{?_isa} = %{version}-%{release} make
Conflicts:           libFoundation

%description
The GNUstep Base Library is a powerful fast library of general-purpose,
non-graphical Objective C classes, inspired by the superb OpenStep API but
implementing Apple and GNU additions to the API as well.  It includes for
example classes for unicode strings, arrays, dictionaries, sets, byte
streams, typed coders, invocations, notifications, notification dispatchers,
scanners, tasks, files, networking, threading, remote object messaging
support (distributed objects), event loops, loadable bundles, attributed
unicode strings, xml, mime, user defaults. This package includes development
headers too.

%package libs
Summary:             GNUStep Base Libraries
%description libs
This packages contains the run-time libraries of the gnustep-base package.

%package devel
Summary:             Header of the GNUstep Base library packes
Requires:            %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
This package contains the header files of the gnustep-base package.

%package doc
Summary:             Documentation for %{name}
Requires:            %{name}%{?_isa} = %{version}-%{release} gnustep-filesystem
%description doc
This package contains the documentation of the gnustep-base package.

%prep
%autosetup -p1

iconv -f iso-8859-1 -t utf-8 ChangeLog.2 -o ChangeLog.2.utf8
mv ChangeLog.2.utf8 ChangeLog.2

%build
ffi_include=$(pkg-config --cflags-only-I libffi | sed -e 's/^\-\I//')
export LDFLAGS="%{__global_ldflags}"
%gnustep_configure --disable-ffcall --with-ffi-include=$ffi_include

%gnustep_make -n

%install
%gnustep_install -n

# Rename pl to pllist to fix naming conflict
mv ${RPM_BUILD_ROOT}%{_bindir}/pl ${RPM_BUILD_ROOT}%{_bindir}/pllist

rm -f Examples/.cvsignore
rm -f Examples/.gdbinit

# We need a modified GNUstep.conf, because the DTDs are install not
# on there real destination

sed -e "s|GNUSTEP_SYSTEM_LIBRARY=|GNUSTEP_SYSTEM_LIBRARY=$RPM_BUILD_ROOT|" \
    -e "s|GNUSTEP_SYSTEM_HEADERS=|GNUSTEP_SYSTEM_HEADERS=$RPM_BUILD_ROOT|" \
    %{_sysconfdir}/GNUstep/GNUstep.conf >GNUstep.conf

export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}
export GNUSTEP_CONFIG_FILE=$(pwd)/GNUstep.conf

%gnustep_makedoc
%gnustep_installdoc

%files
%{_bindir}/HTMLLinker
%{_bindir}/autogsdoc
%{_bindir}/cvtenc
%{_bindir}/defaults
%{_bindir}/gdnc
%{_bindir}/gdomap
%{_bindir}/gspath
%{_bindir}/make_strings
%{_bindir}/pl2link
%{_bindir}/pldes
%{_bindir}/plget
%{_bindir}/pllist
%{_bindir}/plmerge
%{_bindir}/plparse
%{_bindir}/plser
%{_bindir}/plutil
%{_bindir}/sfparse
%{_bindir}/xmlparse
%{_mandir}/man1/*
%{_mandir}/man8/*
%{gnustep_dtddir}/

%files libs
%doc ANNOUNCE ChangeLog* NEWS README.md
%license COPYING.LIB COPYINGv3
%{gnustep_libraries}/
%{_libdir}/libgnustep-base.so.*

%files devel
%{_includedir}/Foundation/
%{_includedir}/GNUstepBase/
%{_libdir}/libgnustep-base.so
%{_libdir}/pkgconfig/gnustep-base.pc
%{gnustep_additional}/base.make
%doc Examples

%files doc
%doc README.md
%{_infodir}/*
%dir %{_datadir}/GNUstep/Documentation
%{_datadir}/GNUstep/Documentation/*

%changelog
* Sat Sep 07 2024 Funda Wang <fundawang@yeah.net> - 1.30.0-1
- update to 1.30.0

* Tue Aug 15 2023 liyanan <thistleslyn@163.com> - 1.29.0-2
- Fix GSXML compatibility with libxml2 v2.11.0

* Wed Jul 12 2023 liyanan <thistleslyn@163.com> - 1.29.0-1
- update to 1.29.0

* Wed Nov 16 2022 wangkai <wangkai385@h-partners.com> - 1.27.0-3
- Change source url

* Mon May 09 2022 chenchen <chen_aka_jan@163.com> - 1.27.0-2
- Fix compilation with ICU 68.

* Tue Sep 7 2021 zhengyaohui <zhengyaohui1@huawei.com> - 1.27.0-1
- package init