Sync from SUSE:SLFO:Main gnustep-base revision 48ee316a59f079a7ccec8ad70b17e5e1

This commit is contained in:
Adrian Schröter 2024-12-24 17:13:28 +01:00
commit a7b80ad0cb
6 changed files with 794 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
gnustep-base-1.30.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

4
gnustep-base-rpmlintrc Normal file
View File

@ -0,0 +1,4 @@
addFilter('incoherent-init-script-name.*gdomap')
addFilter('executable-sourced-script.*/etc/profile.d/GNUstep-start.sh')
addFilter('sourced-script-with-shebang.*/etc/profile.d/GNUstep-start.sh')
addFilter('macro-in-comment')

535
gnustep-base.changes Normal file
View File

@ -0,0 +1,535 @@
-------------------------------------------------------------------
Sun Jul 7 20:13:01 UTC 2024 - Fred kiefer <fredkiefer@gmx.de>
- Update to version 1.30.0
* autogsdoc (and many source/header files) updated for ObjC-2 support
* gdnc gspath spelling error fixes
* GSFileHandle remove handle from run loop when -dealloc is called
* GSHTTPURLHandle close socket if we end loading with I/O in
progress.
* GSMimeDocimnet optimisations
* GSPrivateSymbolPath() portability improvements
* GSVersionMacros add GS_UNIMPLEMENTED to mark unimplemented methods
* HTMLLinker man page groff warning fixed
* Make GSTcpTune options available to streams as well as file handles
and improve debug logging for stream operations.
* NSBundle improvements in librarym bundle lookup
* NSCache thread safety fix
* NSData caching data of file URLs and OSX consistency tweak to
permissions when writing file atomically
* NSDate implements +now constructor.
* NSDecimalNumber fix possible coimparison bug for zero values
* NSError -description and -localizedDescription formats match OSX
* NSException portability improvments
* NSFileManager makeed safety fix and make enumerating a file URL
return URLs rather than paths.
* NSIndexSet implements enumerateRangesInRange convenience methods.
* NSISO8601DateFormatter.m: bugfix for date/time string generation
* NSJSONSerialization fix memory leak, fix issue with unicode
surrogate pairs.
* NSKeyValueObserving Add methods to remove observers
* NSLocale Fix -countryCode incorrectly returning language code, fix
for hyphen and underscore in locale identifier
* NSMessagePort remove restriction on Distributed Objects message
length
* NSNotificationCenter fix for memory leak, minor bugfixes (use
before initialise)
* NSNull fix for -valueForUndefinedKey: to return singleton
* NSNumberFormatter make minimum/maximum properties NSNumbers
* NSObject optimise allocation with new runtime library
* NSOperation fix occasional scheduling bug
* NSOrderedSet Fix keyed encoding to match Apple platforms.
* NSPathUtilities fix intialisation order deadlock.
* NSPredicate fix for array access keywords
* NSProcessInfo android support
* NSString correct class used when loading empty string from
file/URL, implements regular expression search methods.
* NSTask return an error if the path to launch in is bad, use _exit
to terminate forked process if needed, use closefrom() to close
descriptors in child process if possible
* NSTimer wrap call to block in exception handler (bug #289)
* NSTimeZone improvements
* NSURL Fix NSURL path on Windows for UNC paths.
* NSURLRequest: Support deleting using setValue:forHTTPHeaderField:
with nil value.
* NSURLSession many bugfixes and improvements
* NSUserDefaults fix potential deadlock
* NSXMLElement bugfix to remove previous attributes when setting
attributes.
* NSXMLNode returns NSError on failure to evaluate xpath expression.
* gnustep_global_lock and GSLazyLock deprecated for removal in next
release.
- Remove 295.patch as this is no longer needed.
-------------------------------------------------------------------
Thu Jan 4 18:19:53 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Add 295.patch: Fix build with libxml2 2.11.0+.
-------------------------------------------------------------------
Mon Sep 25 14:17:51 UTC 2023 - Marcus Meissner <meissner@suse.com>
- use pkgconfig(icu-uc) to use the current libicu. (jsc#PED-6193)
-------------------------------------------------------------------
Sun Jan 15 15:06:11 UTC 2023 - Fred kiefer <fredkiefer@gmx.de>
- Update to version 1.29.0
* Just change the minor version number as there are some incompatible changes to 1.28.0
-------------------------------------------------------------------
Fri Jan 6 19:54:03 UTC 2023 - Fred kiefer <fredkiefer@gmx.de>
- Update to version 1.28.1
* Many changes to make building and testcases work on ms-windows (particularly with the MSVC target and when using a strict C99 compiler).
* Support for native locking on ms-windows.
* Support for overlapped I/O on ms-windows.
* New timezone handling code to deal with v2+ of the timezone format.
* TLS support for secure Distributed Objects connections.
* Masking of sensitive information in http/https debug logs.
* a variety of bugfixes.
-------------------------------------------------------------------
Fri Apr 1 10:14:31 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com>
- Update to version 1.28.0
* Reading and setting File Creation Date attribute on Windows.
* Added new 'ASSIGNMUTABLECOPY()' macro for consistency with
'ASSIGNCOPY()'.
* Replaced character set data headers for URLs with loading these
from a standard data source, and updated bitmap representation to
use much less space for character sets residing wholly in the base
plane, such as the URL charsets (given they are purely ASCII).
* Updated character set data with newer Unicode data set.
* '[NSURLProtocol -initWithRequest:cachedResponse:client:]' will now
retain the client up until the last message is sent to it, which
improves compatibility with OS X.
* Percent-escaping code in 'NSURL' simplified.
* Removed mixed ABI support.
* Use of Apple runtime now assumes non-fragile ABI (which is true on
modern systems).
* Improve typing on method implementation pointers in some classes.
* In 'NSHTTPCookie', rewritten code for extracting individual cookies
from the HTTP header.
* In 'NSKeyedArchiver', implement secure coding methods.
* New methods in 'NSDateComponents'.
* Improvements in 'NSCalendar' and 'NSLocale' for calendar locale and
'NSDateComponents'.
* In 'NSFileManager', use 'utimensat()' to set file modification
date, if available.
* Correctly stop parsing number being decoded in
'NSJSONSerialization' when encountering a number with an invalid
exponent.
* Improve OS X compatibility for 'NSURLQueryItem' initializers.
* For 'NSFileManager', in 'changeFileAttributes', implement setting
creation date for Unix-like systems. Implement reading the
creation date if a supported method was detected.
* Support reading Android assets from the main bundle in
'NSInputStream'.
* Support Android assets directories in 'NSBundle' and
'NSFileManager'.
* Implement '-[NSXMLParser initWithStream:]'.
* Allow clearer choice between 'sloppy' 'GSSloppyXMLParser' used in
'NSXMLParser' and the libxml2-based 'GSStrictXMLParser'.
* Fix building Win32 implementations for 'GSFileHandle' and
'NSMessagePort' with nonfragile ABI.
* Use 'NSNumber' and not 'NSString' in '-[NSUserDefaults
setBool:forKey:]'.
* Posting notification before 'NSThread' exit.
* Actually declare optional 'NSFilePresenter' methods as optional.
* In 'NSConcreteMapTable', fix replacing existing values in a weak
objects map table.
* Fix leaks in 'NSOperation'.
* Various compat fixes for various MSYS systems, particularly around
sockets code.
* In 'NSData', 'NSFileManager' and more, various improvements when
overwriting and creating files with respect to file attributes
(owners, creation timestamp, etc).
* Improve 'NSLog' output on Android.
* Use 'instancetype' in 'NSURLRequest' header.
* Define 'NSAttributedStringKey' and 'NSNotificationName'.
* Add new 'NSURL' methods.
* In 'GSMime', have '-contentFile' check the 'Content-Type' header
before checking 'Content-Disposition'.
* Fix a bug linking with WEAK symbols where binutils 2.3.5 would fail
to link due to not all expected symbols being exported.
* New 'plutil' utility.
* Implementation of '[NSData rangeOfData:options:range:]' which finds
the 'NSRange' in which the passed data occurs.
* Change 'ENTER_POOL'/'LEAVE_POOL' so they no longer wrap the
enclosed code in a loop, enabling use in some loops.
* New 10.5 methods in 'NSRunLoop'/'NSURLConnection'.
* Improve compatibility when building with ICU 68.
* Fix compiling libdispatch integration of 'NSRunLoop' on Windows.
* Add support for building on Windows with MSVC's Clang by passing
the 'configure' flag '--host=x86_64-pc-windows'. Use of an MSYS2
shell without '-devel' packages is recommended.
* Implementation of 'NSURLSession' and related classes. This adds
some dependencies on more recent versions of 'libcurl',
'libdispatch' etc.
* Fix initializing 'NSUUID' from a string.
* Disable use of 'libcurl' if its headers are not found.
* In 'NSURLProtocol', continue writing data if not all of it was
written.
* Fix use of GnuTLS under MinGW by using 'send/recv' rather than
'read/write'.
* Add support for libobjc2 runtime on Windows.
* Fix BOM insertion when generating data from a string using one of
the Unicode encodings.
- Remove upstreamed patch gnustep-base-1.27.0-fix-compilation-icu68.patch
-------------------------------------------------------------------
Sat Feb 27 12:38:59 UTC 2021 - Antoine Belvire <antoine.belvire@opensuse.org>
- Add gnustep-base-1.27.0-fix-compilation-icu68.patch: Fix build
against ICU 68.
-------------------------------------------------------------------
Tue Apr 14 10:37:04 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 1.27.0
* Expose GNU TLS wrappers and add methods to get certificate
expiry.
* Improve thread safety when using zombies, particularly on
statup/shutdown.
* Improvements for Ukrainian localization.
* Decreased ICU requirements to 49 to support Windows 2000.
* Simplifications and fixes in GSPrivateSymbolPath().
* GSMime improvements (word encoding specifier, utf-8
improvements encoding quoted words with multibyte characters)
* NSJSONSerialization fixes for codepoints over 0x7f.
* NSCharacterSet support for URL*AllowedCharacterSet and
declarations for new character sets.
* NSString implementations for new methods
stringByRemovingPercentEncoding/
stringByAddingPercentEncodingWithAllowedCharacterSet:.
* Fixed a crash in gdomap when an invalid hostname is given
for the -M option.
* In NSString.m, removed functions urldecode() and ishex()
which were mistakenly neither namespaced nor declared static
and thus could have conflicted with non-library code.
* Fixed libdispatch configuration switch so
-enable-libdispatch works correctly; correctly checking for
HAVE_LIBDISPATCH_RUNLOOP.
* Updated libdispatch runloop integration so it is compatible
with Swift's corelibs libdispatch release (from
github.com/apple/swift-corelibs-libdispatch). The
libdispatch must be compiled with
INSTALL_PRIVATE_HEADERS=YES.
* In NSThread, spinlocks implemented using builtins to be able
to target platforms without pthread_spin_lock(), such as
Android targeting API level < 24.
* In NSLog on Android, send logs to syslog.
* Implementation of NSOrderedSet.
* When ./configuring, link against libandroid on Android.
* In NSBundle, allow integrating with Android asset manager
using +[NSBundle setJavaAssetManager:withJNIEnv:], enabling
use of mainBundle's pathForResource:ofType:,
-URLForResource:ofType: and similar; referencing Info.plist
if it exists in Android assets; use of NSFileManager's
fileExistsAtPath: et al and isReadableFileAtPath:; reading
files using NSFileHandle APIs; use of NSDirectoryEnumerator
to enumerate Android assets from the main bundle.
* In NSBundle, localization support on Android.
* In NSProcessInfo, automatic initialization on Android using
a fake executable path
(/data/data/<app identifier>/Resources).
* In NSData, improvements in reading Android assets.
* Various improvements in the mechanism to report memory usage
of individual objects.
* Skeletal implementation of NSUbiquitousKeyValueStore.
* Implementation of NSByteCountFormatter.
* Fixes to writing large HTTPS requests (GSSocketStream,
NSURLProtocol).
* In gdomap.c, fix detection of local networks.
* In NSArray's -removeObjectsInArray:, prevent some crashes.
* In GSTLS, avoid setting session priority twice.
* In NSFileHandle, fix so that setting certificate information
does not discard any other options already set.
* In GSXML's -fatalErrorFunction, use the correct function to
get the line number.
* In NSOperation's _execute, ensure lock gets released on an
error by surrounding with NS_DURING.
* Generics support in NSHashTable.
* Implementation of NSProgress.
* Skeleton implementation of NSURLComponents.
* In NSSortDescriptor, added
-sortDescriptorWithKey:ascending:descending:.
* In NSOperationQueue, added -addOperationWithBlock.
* In NSFileManager, added
-URLForDirectory:inDomain:appropriateForURL:create:error: and
-enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:.
Also added NSItemReplacementDirectory constant, and updated
stub implementation for -URLForDirectory:shouldCreate:error:.
Added -initWithDirectoryPath:... with additional parameters
skipHidden and errorHandler.
* In NSDictionary, fixed keysSortedByValueUsingComparator:.
* Moved NSFileWrapper from -gui to -base.
* Added NSFilePresenter, NSFileVersion and NSFileCoordinator.
* Added NSPersonComponents and NSPersonNameComponentsFormatter.
* Added units of measurement classes such as NSUnit,
NSMeasurement, NSMeasurementFormatter, NSEnergyFormatter,
NSLengthFormatter, NSMassFormatter.
* In NSUnit, support for NSUnitArea, NSUnitConcentrationMass,
NSUnitDispersion, NSUnitElectricCharge, NSUnitIlluminance,
NSUnitElectricCurrent, NSUnitElectricPotentionDifference,
NSElectricResistance, NSUnitMass, NSUnitEnergy,
NSUnitFrequency, NSUnitPower, NSUnitSpeed,
NSUnitFuelEfficiency, NSUnitPressure, NSUnitVolume,
NSUnitLength.
* Support for data directory on Android introduces
GSInitializeProcessAndroid and makes use of the path
returned by Context.getFilesDir() as the basis for storing
data (e.g. NSUserDefaults) and when querying for directory
paths (NSLibraryDirectory, NSApplicationSupportDirectory,
etc.).
* Placeholder NSScript* classes. Added NSUserActivity,
NSObjectScripting, NSHFSFileTypes, NSAppleEventManager and
NSAppleEventDescriptor.
* Added NSDateInterval intersectionWithDateInterval:.
* Added NSBackgroundActivityScheduler.
* Added NSISO8601DateFormatter and NSMetadataAttributes.
* Added NSOrtogrpahy and NSLinguisticTagger.
* Added NSExtensionItem, NSExtensionContext,
NSExtensionRequestHandling, and NSItemProvider and
NSItemProviderReadingWriting.
* Updated timezone info for NSTimeZones.
* On Android, support for NSTemporaryDirectory to use
Context.getCacheDir(), and cleaning it up in
GSInitializeProcessAndroid() given there is no support for
temp directory before Android API 26. Also used with
NSCachesDirectory + NSUserDomainMask.
* NSXPCConnection fixes.
* NSException symbolication support using libunwind (used when
backtrace() is unavailable).
* Travis build improvements to use new runloop integration and
gnustep-2.0 runtime.
* In NSKeyValueObserving, implement two missing methods for
NSArray: -addObserver:options:context: and
-removeObserver:fromObjectsAtIndexes:forKeyPath:.
* Updated NSUUID to use instancetype.
* Added support for NSDate constants in NSPredicate.
* Fixed a NSTimer bug with blocks.
* In GSTLS, do not put password in the hash key of the
credentials, and to avoid logging it when debugging is on.
* Improvements in NSConcreteHashTable and NSConcreteMapTable.
* In various places, switch away from deprecated
CREATE_AUTORELEASE_POOL() to use the ARC-compatible
ENTER_POOL and LEAVE_POOL macros.
* When building the list of hosts to be probed to see if they
have gdomap servers, fix code to include those explicitly
defined in the config file. Add -S option to list the
addresses of the known gdomap servers.
* Backward compatibility fix for ICU 65.
* Update GSPrivateSymbolPath() so that, on the path where
LINKER_GETSYMBOL is not available, we attempt to lookup
classes using the prefix ._OBJC_CLASS_ for the 2.0 ABI
(earlier ABIs use a prefix of __objc_class_name_ for the
class definition.
* Fix parsing of NSURLResponse content type header.
* Fix for class lookup when using the 2.0 ABI.
* Fixed NSURLComponents setURL: throwing exceptions when URL
didn't have all expected parts caused by rangeOfString:
throwing for nil values.
* Added NSURLQueryItem implementation.
- Spec cleanup
-------------------------------------------------------------------
Fri Jan 11 13:18:11 UTC 2019 - Fred kiefer <fredkiefer@gmx.de>
- update to 1.26.0
* Improve utf8 validity checks.
* Make point and size subclasses for NSValue interchangable.
* Add support for TLS SNI. Always request certificate from client and
update certificates after 5 minutes.
* Don't write deprecated fields to desktop link file.
* Use NSLock instead of GSLazyLock and other improvements for
multithreaded processes.
* Clean up of NSString cluster.
* Update NSAssert() and NSCAssert() to handle variable arguments (as
OSX has done) and mark the numbered macros as obsolete.
* Various improvements in tests.
* Require ICU >= 50.
* ICU is now detected using pkg-config.
* Improve XML parsing.
* Make NSXMLNode ivar a union representing different types, instead
of assuming it will contain different underlying class types in
different contexts. This is important for the new libobjc2 ABI.
* OSX compatibility changes to NSURL.
* NSFileManager call error handle on missing file.
* Dummy spinlock implementation for platforms that don't support it.
* Internationalization improvements: Japanese translation, Turkish
translation, Polish translation.
* Various improvements for new libobjc2 "v2 ABI", including things
like a new NSConstantString implementation, making
GS_REPLACE_CONSTANT_STRING a noop with the new ABI, etc.
* Improvements for stack traces, exception handling and dead lock
detection.
* Other more minor bugfixes and cleanups. Many found by Coverity
scan results.
* As usual, this release also contains an update to include the most
recent international timezone data.
-------------------------------------------------------------------
Tue Jul 10 16:06:45 UTC 2018 - crrodriguez@opensuse.org
- Remove dependencies on insserv, not used.
-------------------------------------------------------------------
Sun Dec 31 20:36:40 UTC 2017 - fredkiefer@gmx.de
- update to 1.25.1
o Unicode fixes for characters outside the base plane
o Stubs for some new OSX methods
o Various new OSX compatibility macro and type definitions
o NSFileManager fixes and tweaks to match OSX implementation
o NSDistributedLock bugfix for pre-existing lock directories
o Alternative sort algorithms selectable at runtime
o Compatibility-related changes for environments not supporting weak
symbols
o Other more minor bugfixes and cleanups.
o As usual, this release also contains an update to include the most
recent international timezone data.
-------------------------------------------------------------------
Sat Sep 9 23:29:13 UTC 2017 - jengelh@inai.de
- Implement shared library packaging guideline.
Ensure neutrality of description.
-------------------------------------------------------------------
Sun Sep 3 21:19:02 UTC 2017 - fredkiefer@gmx.de
- Remove scripts to start gdnc as daemon or on login. (Fixes boo#1055816)
-------------------------------------------------------------------
Sat Jul 22 17:41:59 UTC 2017 - fredkiefer@gmx.de
- Change gnustep-make from BuildRequired to Required.
-------------------------------------------------------------------
Sun Apr 16 19:12:16 UTC 2017 - fredkiefer@gmx.de
- update to 1.25.0
-------------------------------------------------------------------
Tue Jan 17 10:41:24 UTC 2017 - aloisio@gmx.com
- Rename pl to pllist unconditionally.
- Explicit filelist to better monitor conflicts between
packages.
-------------------------------------------------------------------
Sat Jan 14 18:18:14 UTC 2017 - aloisio@gmx.com
- Reverted macros in comments
-------------------------------------------------------------------
Thu Jan 12 20:37:58 UTC 2017 - aloisio@gmx.com
- Spec cleanup
- Removed _service file and added tarball so that
the package can be accepted into Factory
-------------------------------------------------------------------
Fri Mar 25 14:47:06 UTC 2016 - fredkiefer@gmx.de
- disable icu on Suse systems before 12.
-------------------------------------------------------------------
Mon Mar 21 22:07:44 UTC 2016 - fredkiefer@gmx.de
- update to 1.24.9
o Niels added support for generics
o Support for 'ng' runtime library (latest language features enabled)
o Performance optimisations and improved diagnostic messages
o Garbage Collection deprecated (support to be removed)
o As usual, this release also contains an update to include the most
recent international timezone data.
-------------------------------------------------------------------
Sat May 16 10:39:51 UTC 2015 - fredkiefer@gmx.de
- update to 1.24.8
o Performance optimisations (particularly in the use of tiny string
objects by the new objc runtime on 64bit systems).
o Thread naming and logging of threads by NSLog() has been made
consistent with the latest OSX releases, making debugging of
multithreaded code a little easier.
o Sergei Golovin has added NSURLConnection regression tests (while
fixing a few bugs there).
o As usual, this release also contains an update to include the most
recent international timezone data.
o Various other bugfixes.
-------------------------------------------------------------------
Sat Mar 21 12:35:48 UTC 2015 - fredkiefer@gmx.de
- update to 1.24.7
o TLS and other security improvements (note, SSLv3.0 is disabled by default
in order to prevent the 'POODLE' attack).
o Latest timezone data included
o Various other bug fixes
o for more info please see ChangeLog file
-------------------------------------------------------------------
Tue Dec 24 11:05:02 UTC 2013 - fredkiefer@gmx.de
- update to 1.24.6
o NSUUID implemented
o New OSX version macros
o TLS support improvements
o Various new methods for OSX compatibility
o for more info please see ChangeLog file
-------------------------------------------------------------------
Sat Aug 10 12:36:12 UTC 2013 - fredkiefer@gmx.de
- update to 1.24.5
o for more info please see ChangeLog file
-------------------------------------------------------------------
Mon Apr 1 21:32:02 UTC 2013 - fredkiefer@gmx.de
- update to 1.24.4
o for more info please see ChangeLog file
-------------------------------------------------------------------
Wed Mar 6 08:22:45 UTC 2013 - fredkiefer@gmx.de
- update to 1.24.3
o for more info please see ChangeLog file
-------------------------------------------------------------------
Sat Aug 4 22:09:27 UTC 2012 - chris@computersalat.de
- update to 1.24.0
o for more info please see ChangeLog file
- remove obsolete enable-tls patch
- add source signature file (tar.gz.sig)
- enable parallel build
- add BuildReq libicu-devel
- rpmlint stuff
* fix Group
* add missing rcgdomap link
* remove setuid/setgid bit gdomap (6755 -> 0755)
-------------------------------------------------------------------
Thu Apr 7 23:04:29 UTC 2011 - chris@computersalat.de
- update to 1.20.1
o for more info please see ChangeLog file
- rework enable-tls patch
- spec mod
o add header
o fix gs_library (/usr/lib/GNUstep)
see WindowMaker pkg: /usr/lib/GNUstep/Applications
-------------------------------------------------------------------
Sun Apr 12 21:28:33 CET 2009 - lars@linux-schulserver.de
- initial version

229
gnustep-base.spec Normal file
View File

@ -0,0 +1,229 @@
#
# spec file for package gnustep-base
#
# Copyright (c) 2024 SUSE LLC
#
# 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/
#
%define lname libgnustep-base1_30
%define gnustep_sh GNUstep.sh
%define gs_config %{_sysconfdir}/GNUstep/GNUstep.conf
%define profile_dir %{_sysconfdir}/profile.d
%define gs_userstart GNUstep-start.sh
%define gs_makefiles %{_datadir}/GNUstep/Makefiles
%define gs_library %{_libdir}/GNUstep
Name: gnustep-base
Version: 1.30.0
Release: 0
Summary: GNUstep Base library package
License: GPL-3.0-or-later AND LGPL-2.1-or-later
Group: System/GUI/Other
URL: http://www.gnustep.org/
Source: ftp://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz
Source1: ftp://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz.sig
Source2: %{name}-rpmlintrc
BuildRequires: fdupes
BuildRequires: gcc-objc
BuildRequires: gmp-devel
BuildRequires: gnustep-make
BuildRequires: gnutls
BuildRequires: libffi-devel >= 3.0.9
BuildRequires: libxml2-devel >= 2.3.0
BuildRequires: libxslt-devel
BuildRequires: openssl-devel
BuildRequires: pkg-config
BuildRequires: pkgconfig
BuildRequires: zlib-devel
BuildRequires: pkgconfig(icu-uc)
Requires: gnustep-make
#Handle different package names on fedora and suse
%if 0%{?suse_version}
BuildRequires: avahi-compat-mDNSResponder-devel
BuildRequires: libgnutls-devel
%endif
%if 0%{?fedora}
BuildRequires: avahi-compat-libdns_sd
BuildRequires: avahi-compat-libdns_sd-devel
BuildRequires: gnutls-devel
BuildRequires: texi2html
BuildRequires: texinfo-tex
%endif
%description
The GNUstep Base Library is a library of general-purpose,
non-graphical Objective C classes, inspired by the
OpenStep API but implementing Apple and GNU additions to the API
as well.
%package -n %{lname}
Summary: GNUstep Base library package
Group: System/Libraries
%description -n %{lname}
The GNUstep Base Library is a library of general-purpose,
non-graphical Objective C classes, inspired by the
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.
%package devel
Summary: Devel package for the GNUstep Base Library
Group: Development/Libraries/C and C++
Requires: %{lname} = %{version}
Requires: %{name} = %{version}
%description devel
This package contains include files for developing applications
using the GNUstep Base Library.
%prep
%autosetup -p1
find . -type f -name "*.swp" -delete
%build
# Source GNUstep environment variables. This is done unconditionally
# to ensure that the values appropriate to this build get defined,
# irrespective of what happened to be in force for the build system.
. %{gs_config}
GNUSTEP_SH_EXPORT_ALL_VARIABLES="yes"
. ${GNUSTEP_MAKEFILES}/%{gnustep_sh}
# Configure and make.
%configure \
--libdir=%{_libdir} --enable-ffi \
%ifarch aarch64 armv6hl
--enable-fake-main \
%endif
%if 0%{?suse_version} == 1110
--disable-icu \
%endif
--with-installation-domain=SYSTEM
make %{?_smp_mflags}
%install
# Source GNUstep environment variables. This is done unconditionally
# to ensure that the values appropriate to this build get defined,
# irrespective of what happened to be in force for the build system.
. %{gs_config}
GNUSTEP_SH_EXPORT_ALL_VARIABLES="yes"
. ${GNUSTEP_MAKEFILES}/%{gnustep_sh}
# Install into RPM "build root" directory.
make -e DESTDIR=%{buildroot} \
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
install
# Rename pl to pllist to fix naming conflict
mv %{buildroot}%{_bindir}/pl %{buildroot}%{_bindir}/pllist
%if 0%{?fedora}
rm -f Examples/.cvsignore
rm -f Examples/.gdbinit
# We need a modified GNUstep.conf, because the DTDs are install not
# on their real destination
sed -e "s|GNUSTEP_SYSTEM_LIBRARY=|GNUSTEP_SYSTEM_LIBRARY=%{buildroot}|" \
-e "s|GNUSTEP_SYSTEM_HEADERS=|GNUSTEP_SYSTEM_HEADERS=%{buildroot}|" \
%{_sysconfdir}/GNUstep/GNUstep.conf >GNUstep.conf
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
export GNUSTEP_CONFIG_FILE=$(pwd)/GNUstep.conf
%else
# Create scripts to source GNUstep environment variables,
# and update cache of services and applications, on user login.
mkdir -p %{buildroot}%{profile_dir}
cat > %{buildroot}%{profile_dir}/%{gs_userstart} << "EOF"
#!/bin/sh
. %{gs_config}
if [ -d ${HOME}/${GNUSTEP_USER_DIR} ]
then
# Run 'make_services' in background if possible. We run it in a subshell;
# otherwise, shells with job control (like bash) output an annoying
# message when make_services is done, while we want it to happen silently.
[ -x "${GNUSTEP_SYSTEM_TOOLS}/make_services" ] \
&& ("${GNUSTEP_SYSTEM_TOOLS}/make_services" &)
fi
EOF
chmod 755 %{buildroot}%{profile_dir}/%{gs_userstart}
%endif
# save disk space: symlink duplicates
%fdupes -s %{buildroot}
# Comment out checks because they break building on some systems. The NSOperation test seems to loop infinite.
#%check
#make check
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%files
%license COPYING COPYING.LIB
%doc ANNOUNCE ChangeLog NEWS README.md
%{_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
%{gs_library}
%{gs_makefiles}
%{_mandir}/man1/HTMLLinker.1%{?ext_man}
%{_mandir}/man1/autogsdoc.1%{?ext_man}
%{_mandir}/man1/cvtenc.1%{?ext_man}
%{_mandir}/man1/defaults.1%{?ext_man}
%{_mandir}/man1/gdnc.1%{?ext_man}
%{_mandir}/man1/gspath.1%{?ext_man}
%{_mandir}/man1/make_strings.1%{?ext_man}
%{_mandir}/man1/pldes.1%{?ext_man}
%{_mandir}/man1/sfparse.1%{?ext_man}
%{_mandir}/man1/xmlparse.1%{?ext_man}
%{_mandir}/man1/plutil.1%{?ext_man}
%{_mandir}/man8/gdomap.8%{?ext_man}
%if 0%{?suse_version}
%config(noreplace) %{profile_dir}/%{gs_userstart}
%endif
%files -n %{lname}
%{_libdir}/libgnustep-base.so.*
%files devel
%{_includedir}/*
%{_libdir}/libgnustep-base.so
%{_libdir}/pkgconfig/gnustep-base.pc
%changelog