diff --git a/README.md b/README.md index 02fb7fe..36c6e9e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # gnustep-make +The makefile package is a simple, powerful and extensible way to write makefiles for a GNUstep-based project. +It allows the user to write a project without having to deal with the complex issues associated with configuration, building, installation, and packaging. +It also allows the user to easily create cross-compiled binaries. diff --git a/gnustep-make-macros.gnustep b/gnustep-make-macros.gnustep new file mode 100644 index 0000000..b4447ff --- /dev/null +++ b/gnustep-make-macros.gnustep @@ -0,0 +1,50 @@ +%gnustep_libdir %{_libdir}/GNUstep + +%gnustep_appdir %{gnustep_libdir}/Applications +%gnustep_appsupdir %{gnustep_libdir}/ApplicationSupport +%gnustep_bundledir %{gnustep_libdir}/Bundles +%gnustep_cpickdir %{gnustep_libdir}/ColorPickers +%gnustep_srvdir %{gnustep_libdir}/Services + +%gnustep_makefiles %{gnustep_libdir}/Makefiles +%gnustep_additional %{gnustep_libdir}/Makefiles/Additional +%gnustep_libraries %{gnustep_libdir}/Libraries + +%gnustep_docdir %{gnustep_libdir}/Documentation +%gnustep_devdocdic %{gnustep_docdir}/Development +%gnustep_userdocdir %{gnustep_docdir}/User +%gnustep_dtddir %{gnustep_libdir}/DTDs +%gnustep_fontdir %{gnustep_libdir}/Fonts +%gnustep_imagedir %{gnustep_libdir}/Images +%gnustep_kbdir %{gnustep_libdir}/KeyBindings +%gnustep_psdir %{gnustep_libdir}/PostScript +%gnustep_sounddir %{gnustep_libdir}/Sounds + +%gnustep_configure\ +%configure --with-installation-domain=SYSTEM + +%gnustep_make(n) make %{?_smp_mflags} \\\ +%if "X%{-n:Y}" == "X" \ + GNUSTEP_MAKEFILES=%{gnustep_makefiles} \\\ +%endif\ + messages=yes + +%gnustep_makedoc\ +make -C Documentation %{?_smp_mflags} messages=yes \\\ + GNUSTEP_MAKEFILES=%{gnustep_makefiles} + +%gnustep_install(n)\ +make install messages=yes \\\ + DESTDIR=%{buildroot} \\\ +%if "X%{-n:Y}" == "X" \ + GNUSTEP_MAKEFILES=%{gnustep_makefiles} \\\ +%endif \ + GNUSTEP_INSTALLATION_DOMAIN=SYSTEM + +%gnustep_install_without_gnustep_makefiles() %gnustep_install -n + +%gnustep_installdoc\ +make -C Documentation install messages=yes \\\ + DESTDIR=%{buildroot} \\\ + GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \\\ + GNUSTEP_MAKEFILES=%{gnustep_makefiles} diff --git a/gnustep-make.spec b/gnustep-make.spec new file mode 100644 index 0000000..cd67655 --- /dev/null +++ b/gnustep-make.spec @@ -0,0 +1,74 @@ +Name: gnustep-make +Version: 2.8.0 +Release: 1mamba +Summary: A simple, powerful and extensible way to write makefiles for a GNUstep-based project +Group: Development/Tools +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://gnustep.org/ +Source: ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-%{version}.tar.gz +Source1: gnustep-make-macros.gnustep +License: GPL +## AUTOBUILDREQ-BEGIN +## AUTOBUILDREQ-END +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +The makefile package is a simple, powerful and extensible way to write makefiles for a GNUstep-based project. +It allows the user to write a project without having to deal with the complex issues associated with configuration, building, installation, and packaging. +It also allows the user to easily create cross-compiled binaries. + +#% debug_package + +%prep +%setup -q +sed -i "s|/lib/|/%{_lib}/|g" FilesystemLayouts/fhs-system +sed -i "s|/lib$|/%{_lib}|g" FilesystemLayouts/fhs-system +sed -i "s|/lib/|/%{_lib}/|g" FilesystemLayouts/fhs +sed -i "s|/lib$|/%{_lib}|g" FilesystemLayouts/fhs +# /usr/share/GNUstep/Makefiles/config-noarch.make and +# /usr/share/GNUstep/Makefiles/ix86/linux-gnu/gnu-gnu-gnu/config.make +# are spoiling a pure /usr/share install +sed -i "s|=/share/GNUstep/Makefiles|=/%{_lib}/GNUstep/Makefiles|" \ + FilesystemLayouts/fhs-system + +%build +%configure \ + --with-layout=fhs-system \ + --enable-flattened + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +install -D -m0644 %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.gnustep + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/GNUstep/GNUstep.conf +%{_rpmmacrodir}/macros.gnustep +%{_bindir}/debugapp +%{_bindir}/gnustep-config +%{_bindir}/gnustep-tests +%{_bindir}/openapp +%{_bindir}/opentool +%dir %{_libdir}/GNUstep/Makefiles +%{_libdir}/GNUstep/Makefiles/* +%{_mandir}/man1/debugapp.1* +%{_mandir}/man1/gnustep-config.1* +%{_mandir}/man1/gnustep-tests.1* +%{_mandir}/man1/openapp.1* +%{_mandir}/man1/opentool.1* +%{_mandir}/man7/GNUstep.7* +%{_mandir}/man7/library-combo.7* +%doc COPYING + +%changelog +* Sat Jan 02 2021 Silvan Calarco 2.8.0-1mamba +- package created using the webbuild interface