From f80de245b2c1faba2b63a55e6c74d317d68c054f Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Thu, 18 Mar 2021 19:21:53 +0000 Subject: Add newmoon rpm --- newmoon/newmoon.spec | 431 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 431 insertions(+) create mode 100644 newmoon/newmoon.spec (limited to 'newmoon/newmoon.spec') diff --git a/newmoon/newmoon.spec b/newmoon/newmoon.spec new file mode 100644 index 0000000..4e368a7 --- /dev/null +++ b/newmoon/newmoon.spec @@ -0,0 +1,431 @@ +%global tarballdir pale-moon +%global dummy_package 0 +%global appname newmoon +%global prettyname Newmoon web browser +%global stackrpms_custom 1 +# derive from inside the source tree or from https://repo.palemoon.org/MoonchildProductions/Pale-Moon/releases +# git submodule | awk -v "name=platform" '$2 == name {gsub("-","",$1); print $1}' +%global submodule_platform_tag RELBASE_20210302 +%global badname palemoon + +# additional repos to get python27 and devtoolset-7 +# for el6 and el7: Software Collection;, for x86_64 only +# http://mirror.centos.org/centos/6/sclo/x86_64/rh/ +# http://mirror.centos.org/centos/6/sclo/x86_64/sclo/ +# for el6.i386: +# https://copr-be.cloud.fedoraproject.org/results/ewdurbin/pythons-el6/epel-6-$basearch/ +# https://copr-be.cloud.fedoraproject.org/results/mlampe/devtoolset-7/epel-6-$basearch/ +%define scl_env %{nil} +%define scl_buildreq coreutils +%if 0%{?el6} + %define scl_buildreq python27, devtoolset-7-toolchain + %ifarch x86_64 + %define scl_env python27 devtoolset-7 + %endif + %ifarch i386 || i686 || i586 + %define scl_env devtoolset-7 + %endif +%endif +%if 0%{?el7} + %define scl_env devtoolset-7 + %define scl_buildreq devtoolset-7-toolchain +%endif + +# suppress binary strippping on el6 which fails for some reason +%if 0%{?el6} + %global __os_install_post %{nil} +%endif + +%if 0%{stackrpms_custom} +Name: newmoon +%global prettyname Pale Moon +%else +Name: newmoon +%endif +Summary: Newmoon web browser +Version: 29.1.0 +Release: 1 + +Group: Networking/Web +License: MPLv2.0 +URL: http://linux.palemoon.org/ +Source0: https://repo.palemoon.org/MoonChildProductions/Pale-Moon/archive/%{version}_Release.tar.gz +Source1: https://repo.palemoon.org/MoonchildProductions/UXP/archive/%{submodule_platform_tag}.tar.gz +Source2: newmoon-mozconfig +Source3: newmoon.desktop +Source4: newmoon-mimeinfo.xml +%if 0%{stackrpms_custom} +Source5: bgstack15-newmoon-prefs.js +Source6: bluemoon-icons.tgz +Patch0: small-icons.patch +Patch1: pm-fedora.patch +Patch2: pm-to-nm.patch +%endif +Packager: Bgstack15 + +%if "%{?scl_env}" != "" +BuildRequires: %{scl_buildreq} +%endif +BuildRequires: alsa-lib-devel +BuildRequires: autoconf213 +BuildRequires: bzip2-devel +BuildRequires: dbus-glib-devel +BuildRequires: desktop-file-utils +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: GConf2-devel +BuildRequires: glib2-devel +BuildRequires: gtk2-devel +BuildRequires: libXt-devel +BuildRequires: mesa-libGL-devel +BuildRequires: notification-daemon +BuildRequires: %{_libdir}/libssl.so +BuildRequires: pkgconfig +BuildRequires: pkgconfig(gtk+-2.0) +BuildRequires: pulseaudio-libs-devel +BuildRequires: sqlite-devel +BuildRequires: unzip +BuildRequires: yasm +BuildRequires: zip +BuildRequires: zlib-devel +%if 0%{?fedora} >= 30 || 0%{?rhel} >= 8 +BuildRequires: python2-devel +%endif +BuildRoot: %{_tmppath}/%{name}-%{version} +Provides: mimehandler(application/x-xpinstall) +Provides: newmoon +Provides: webclient + +%description +Newmoon offers you a browsing experience in a browser completely built +from its own, independently developed source that has been forked off from +Firefox/Mozilla code, with carefully selected features and optimizations to +improve the browser's speed*, resource use, stability and user experience, +while offering full customization and a growing collection of extensions +and themes to make the browser truly your own. + +# To avoid the debug .build-id files that conflict with %%{badname}-stackrpms: +%global _build_id_links none +%global debug_package %{nil} +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') + +%prep +%setup -q -n %{tarballdir} +tar -C platform --strip-components=1 -zxf %{SOURCE1} # git submodule +%{__cp} %{SOURCE2} ./.mozconfig +%if 0%{?fedora} >= 30 +sed -i -r -e '/enable-optimize/s/"\s*$/ -Wno-format-overflow"/' ./.mozconfig +%endif + +%if 0%{stackrpms_custom} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +! test -d %{badname}/branding/unofficial.unbuilt && { + cp -pr %{badname}/branding/unofficial %{badname}/branding/unofficial.unbuilt && \ + tar -C %{badname}/branding -zxf %{SOURCE6} +} || : +%endif + +%build +%if "%{?scl_env}" != "" + thispwd=$( pwd ) + scl enable %{scl_env} /bin/bash << EOF + pushd $thispwd +%endif +%if !%{dummy_package} + ./mach build +%endif +%if "%{?scl_env}" != "" + popd || : +EOF +%endif + +%install +rm -rf %{buildroot} + +%if "%{?scl_env}" != "" + thispwd=$( pwd ) + scl enable %{scl_env} /bin/bash << EOF + pushd $thispwd +%endif +%if !%{dummy_package} + make -f client.mk \ + DESTDIR=%{buildroot} prefix=/usr \ + idldir=%{_datadir}/idl/%{appname} \ + includedir=%{_includedir}/%{appname} \ + installdir=%{_libdir}/%{appname} \ + sdkdir=%{_libdir}/%{appname}-devel \ + install + rm -rf %{buildroot}%{_datadir}/idl \ + %{buildroot}%{_libdir}/%{appname}-devel \ + %{buildroot}%{_includedir} || : + rm -rf %{buildroot}%{_datarootdir}/idl # experiment from nm/d/rules + rm -rf %{buildroot}%{_libdir}/%{appname}-devel # experiment from nm/d/rules + rm -rf %{buildroot}%{_includedir} # experiment from nm/d/rules + # remove vestigial duplicate file + rm -rf %{buildroot}%{_libdir}/%{appname}/%{appname}-bin || : + mv %{buildroot}%{_libdir}/%{appname}/%{badname} %{buildroot}%{_libdir}/%{appname}/%{appname} || : + rm -rf %{buildroot}%{_libdir}/%{appname}/%{appname}-bin || : + + mv %{buildroot}%{_bindir}/%{badname} %{buildroot}%{_bindir}/%{appname} || : + rm -rf %{buildroot}%{_bindir}/%{appname} + ln -sf %{_libdir}/%{appname}/%{appname} %{buildroot}%{_bindir}/%{appname} +%endif +%if "%{?scl_env}" != "" + popd || : +EOF +%endif + +# cleanup +%{__rm} -rf %{buildroot}%{_datadir}/idl/%{appname} \ + %{buildroot}%{_includedir}/%{appname} \ + %{buildroot}%{_libdir}/%{appname}-devel + +# desktop files +%{__mkdir_p} %{buildroot}%{_datadir}/applications +desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE3} + +%{__sed} -i -r -e "s/@NAME@/%{prettyname}/;" \ + -e "s/@EXEC@/%{appname}/;" \ + -e "s/@ICON@/%{appname}/;" \ + %{buildroot}%{_datadir}/applications/%{appname}.desktop + +# application start script +# none + +# man pages +# none + +# mimetypes +%{__install} -Dm0644 %{SOURCE4} \ + %{buildroot}%{_datadir}/mime/packages/%{name}.xml + +# icons +%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +for s in 16 22 24 32 48 256 ; +do + %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps + %{__cp} -p %{badname}/branding/official/default${s}.png \ + %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{appname}.png +done + +# Register as an application to be visible in the software center +# EXPERIMENTAL +mkdir -p %{buildroot}%{_datadir}/appdata +cat > %{buildroot}%{_datadir}/appdata/%{appname}.appdata.xml < + + + %{appname}.desktop + CC0-1.0 + +

+ Pale Moon offers you a browsing experience in a browser completely built from its own, independently developed source that has been forked off from Firefox/Mozilla code a number of years ago, with carefully selected features and optimizations to improve the browser stability and user experience, while offering full customization and a growing collection of extensions and themes to make the browser truly your own. +

+
+ http://www.palemoon.org/ + + http://www.palemoon.org/images/screenshots/Win10-start-portal.png + + +
+EOF + +# Add distribution.ini +# skipped + +# filelist lifted straight from https://build.opensuse.org/package/view_file/network/palemoon/palemoon.spec?expand=1 +# get a list of files +# $2 - dirlist +# $3 - dir of fileslist +# $4 - excludelist +filelist() { + filelist=$PWD/$1 + pushd %{buildroot} + find ./ | while read list; do + if [ -n "$4" ]; then + ! echo $list | grep "$4" || continue + fi + _file=$(echo $list | sed 's/[^/]//') + _dir=$(dirname $_file) + if echo $_dir | grep "$2"; then + grep -xqs "\%dir\ $_dir" $filelist || echo "%dir $_dir" >> $filelist + fi + if echo $_file | grep "$3"; then + [ -d "$list" ] || echo $_file >> $filelist + fi + done + popd +} + +%if 0%{stackrpms_custom} +%{__install} -d %{buildroot}%{_libdir}/%{name}/browser/defaults/preferences/ +%{__install} -Dm0644 %{SOURCE5} \ + %{buildroot}%{_libdir}/%{name}/browser/defaults/preferences/ +%endif + +filelist file.lst %{appname} usr langpack + +%clean +%{__rm} -rf %{buildroot} || : + +%post +touch --no-create %{_datadir}/icons/hicolor 1>/dev/null 2>&1 || : + +%preun +# is it a final removal? +#if test "$1" = "0" ; +#then +#fi + +%postun +if test "$1" = "0" ; +then + touch --no-create %{_datadir}/icons/hicolor 1>/dev/null 2>&1 || : +fi + +%posttrans +update-desktop-database 1>/dev/null 2>&1 & : +gtk-update-icon-cache %{_datadir}/icons/hicolor 1>/dev/null 2>&1 & : +update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : + +%files -f file.lst +%defattr(-,root,root) +%doc AUTHORS LICENSE + +%changelog +* Tue Mar 16 2021 B. Stack - 29.1.0-1 +- Fork rpm to newmoon +- remove "stackrpms" suffix + +* Tue Mar 02 2021 B. Stack - 29.1.0-1 +- update version + +* Mon Feb 15 2021 B. Stack - 29.0.1-1 +- update version + +* Tue Feb 02 2021 B. Stack - 29.0.0-1 +- update version + +* Fri Dec 18 2020 B. Stack - 28.17.0-1 +- update version + +* Wed Nov 25 2020 B. Stack - 28.16.0-1 +- update version + +* Tue Oct 27 2020 B. Stack - 28.15.0-1 +- update version +- change sources to upstream new location, repos.palemoon.org + +* Sat Oct 03 2020 B. Stack - 28.14.2-1 +- update version + +* Fri Sep 25 2020 B. Stack - 28.13.0-2 +- use valid RELBASE. Upstream probably unpublished RELBASE_20200831 + +* Fri Sep 04 2020 B. Stack - 28.13.0-1 +- update version + +* Wed Aug 05 2020 B. Stack - 28.12.0-1 +- update version + +* Tue Jul 14 2020 B. Stack - 28.11.0-1 +- update version + +* Fri Jun 05 2020 B. Stack - 28.10.0-1 +- update version + +* Tue May 26 2020 B. Stack - 28.9.3-2 +- add the aboutdialog customization + +* Fri May 08 2020 B. Stack - 28.9.3-1 +- update version + +* Tue May 05 2020 B. Stack - 28.9.2-2 +- Add customization to about dialog + +* Thu Apr 30 2020 B. Stack - 28.9.2-1 +- update version + +* Fri Apr 10 2020 B. Stack - 28.9.1-1 +- update version + +* Thu Mar 26 2020 B. Stack - 28.9.0.2-1 +- update version +- add git submodule support + +* Mon Mar 02 2020 B. Stack - 28.8.4-1 +- update version + +* Tue Feb 18 2020 B. Stack - 28.8.3-1 +- update version + +* Wed Feb 05 2020 B. Stack - 28.8.2.1-1 +- update version +- drop the vanilla release + +* Tue Jan 28 2020 B. Stack - 28.8.2-1 +- update version + +* Mon Jan 13 2020 B. Stack - 28.8.1-1 +- update version +- place binary in /usr/bin instead of /usr/local/bin + +* Wed Dec 11 2019 B. Stack - 28.8.0-1 +- update version +- fc30 now also explicitly requires python2-devel. Fc31 already did. + +* Wed Oct 30 2019 B. Stack - 28.7.2-1 +- update version +- remove custom patch for mz1533969 because it was upstreamed +- buildrequires use ssl lib name instead of package name to use either package + +* Thu Sep 12 2019 B. Stack - 28.7.1-1 +- update version + +* Wed Sep 04 2019 B. Stack - 28.7.0-1 +- update version + +* Thu Jul 25 2019 B. Stack - 28.6.1-1 +- update version + +* Mon Jul 8 2019 B. Stack - 28.6.0.1-2 +- remove custom patches for stock build + +* Fri Jul 5 2019 B. Stack - 28.6.0.1-1 +- update version + +* Tue Jul 2 2019 B. Stack - 28.6.0-1 +- update version +- improve scriptlets for streamlining + +* Tue Jun 4 2019 B. Stack - 28.5.2-1 +- update version + +* Tue Apr 30 2019 B. Stack - 28.5.0-1 +- update version + +* Tue Feb 19 2019 B. Stack 28.4.0-1 +- update version + +* Wed Jan 23 2019 B. Stack 28.3.1-1 +- update version + +* Tue Jan 15 2019 B. Stack 28.3.0-1 +- update version + +* Mon Dec 10 2018 B. Stack 28.2.2-1 +- update version + +* Thu Sep 20 2018 B. Stack 28.1.0-1 +- update version + +* Thu Sep 13 2018 B. Stack 28.0.1-1 +- update version + +* Wed Sep 05 2018 B. Stack 28.0.0-1 +- rpm spec updated -- cgit