Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37396790
en ru br
Репозитории ALT

Группа :: Сети/WWW
Пакет: palemoon

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

# git commit 9a7eccc7ecea20840fd0a8b1c4021eb8d9cbfa54

Summary: The New Moon browser, an unofficial branding of the Pale Moon project browser
Summary(ru_RU.UTF-8): п≤п╫я┌п╣я─п╫п╣я┌-п╠я─п╟я┐п╥п╣я─ New Moon - п╫п╣п╬я└п╦я├п╦п╟п╩я▄п╫п╟я▐ я│п╠п╬я─п╨п╟ п╠я─п╟я┐п╥п╣я─п╟ Pale Moon

Name: palemoon
Version:  32.0.1

Release: alt1

License: MPL-2.0 GPL-3.0 and LGPL-2.1+
Group: Networking/WWW

Url: https://github.com/MoonchildProductions/Pale-Moon
Epoch: 2

ExcludeArch: %ix86 %arm

%define sname palemoon
%define bname newmoon

Packager: Hihin Ruslan <ruslandh at altlinux.ru>

%define palemoon_cid                    \{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4\}

#define newmoon_datadir                 %%_datadir/%%sname

%define newmoon_datadir                 %_datadir/%bname
%define newmoon_bindir                  %_libdir/%bname
%define palemoon_arch_extensionsdir     %_newmoon_datadir/extensions
#define palemoon_noarch_extensionsdir   %%newmoon_datadir/extensions

Source: %sname-source-%version-%release.tar

Source1: rpm-build.tar
Source2: defaults-newmoon.tar

Source4: %sname-mozconfig
Source6: %bname.desktop
Source7: firefox.c
Source8: firefox-prefs.js
Source9: HISTORY_GIT
Source10: Changelog
Source11: content.tar

Source12: xulstore.json
Source13: kde.js

#Patch1: palemoon_google_add-26.4.0.patch

Patch16: mozilla_palimoon-29.4.6-cross-desctop.patch

Patch18: mozilla_palimoon-29.4.6-bug-1153109-enable-stdcxx-compat.patch

#Patch21: palemoon-29.4.6-build-el5-nss.patch

Patch22: palemoon_rpath-29.4.6.patch

Patch23: palemoon_version-29.4.6.patch
Patch24: palemoon-31.0.0-ui_picker_false.patch
#Patch25: palemoon-31.3.0.1-lock_impl_posix.patch

# Patch from Rosa

Patch103: palemoon-29.4.6-disable-check-default-browser.patch
Patch105: palemoon-29.4.6-default-mail-handler.patch
Patch106: palemoon-29.4.6-enable-addons.patch
#Patch107: palemoon-29.4.6-user-agent-overrides.patch

# Patches for KDE integration of New Moon

Patch111: palemoon-29.4.6-firefox-kde.patch
Patch112: palemoon-29.4.6-mozilla-kde.patch
Patch113: palemoon-29.4.6-kde-background.patch

Patch114: nemoon_branding-31.0.0.patch

#set_gcc_version 10

%set_autoconf_version 2.13

BuildPreReq: libXcomposite-devel libXdamage-devel

# Automatically added by buildreq on Wed Jul 13 2022

# optimized out: alt-os-release alternatives fontconfig fontconfig-devel glib2-devel glibc-kernheaders-generic glibc-kernheaders-x86 libICE-devel libSM-devel libX11-devel libXext-devel libXrender-devel libatk-devel libcairo-devel libctf-nobfd0 libdbus-devel libdbus-glib libfreetype-devel libgdk-pixbuf libgdk-pixbuf-devel libgio-devel libgpg-error libharfbuzz-devel libpango-devel libstdc++-devel libxcb-devel perl pkg-config python-modules python-modules-compiler python-modules-ctypes python-modules-curses python-modules-email python-modules-encodings python-modules-logging python-modules-multiprocessing python-modules-xml python2-base python3 python3-base sh4 xorg-proto-devel zlib-devel
BuildRequires: doxygen gcc-c++ libGConf-devel libXt-devel libalsa-devel
BuildRequires: libdbus-glib-devel libgtk+2-devel libhunspell-devel
BuildRequires: libpulseaudio-devel libsocket python-modules-distutils
BuildRequires: python-modules-json python-modules-wsgiref unzip yasm zip

BuildRequires: %_bindir/python2.7 python2-base

# BEGIN SourceDeps(oneline):

BuildRequires: bzlib-devel gobject-introspection-devel libgtest-devel libpng-devel libssl-devel swig texinfo zlib-devel
# END SourceDeps(oneline)

BuildRequires(pre): mozilla-common-devel rpm-macros-alternatives mozilla-common
BuildRequires(pre): browser-plugins-npapi-devel

BuildPreReq: python-module-future python-modules-json python-modules-wsgiref
BuildPreReq: libnss-devel

#BuildRequires: gcc%%{_gcc_version}-c++


BuildPreReq: chrpath
BuildPreReq: autoconf_%_autoconf_version

BuildPreReq: gstreamer1.0-devel gst-plugins1.0-devel
BuildRequires: libhunspell-devel

%description
The %sname project is a redesign of Mozilla's  Firefox browser component,
written using the XUL user interface language and designed to be
cross-platform.

%description -l ru_RU.UTF8
п≤п╫я┌п╣я─п╫п╣я┌-п╠я─п╟я┐п╥п╣я─ %sname - п╨я─п╬я│я│п©п╩п╟я┌я└п╬я─п╪п╣п╫п╫п╟я▐ п╪п╬п╢п╦я└п╦п╨п╟я├п╦я▐ п╠я─п╟я┐п╥п╣я─п╟ Mozilla Firefox ,
я│п╬п╥п╢п╟п╫п╫п╟я▐ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ я▐п╥я▀п╨п╟ XUL п╢п╩я▐ п╬п©п╦я│п╟п╫п╦я▐ п╦п╫я┌п╣я─я└п╣п╧я│п╟ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐.

%package -n newmoon
Summary: The New Moon browser, an unofficial branding of the Pale Moon project browser
Summary(ru_RU.UTF-8): п≤п╫я┌п╣я─п╫п╣я┌-п╠я─п╟я┐п╥п╣я─ New Moon - п╫п╣п╬я└п╦я├п╦п╟п╩я▄п╫п╟я▐ я│п╠п╬я─п╨п╟ п╠я─п╟я┐п╥п╣я─п╟ Pale Moon
Group: Networking/WWW

#Obsoletes: palemoon  < 29.4.6

Provides: palemoon = %EVR
Provides: webclient

Conflicts: newmoon < 31.0.0
#Obsoletes: newmoon < 29.4.6

Requires: libgstreamer1.0 gst-libav
Requires: gst-plugins-base1.0

# Protection against fraudulent DigiNotar certificates

Requires: libnss

%description -n newmoon
The New Moon browser, an unofficial branding of the Pale Moon project browser
The %sname project is a redesign of Mozilla's  Firefox browser component,
written using the XUL user interface language and designed to be
cross-platform.

%description -n newmoon -l ru_RU.UTF8
п≤п╫я┌п╣я─п╫п╣я┌-п╠я─п╟я┐п╥п╣я─ New Moon - п╫п╣п╬я└п╦я├п╦п╟п╩я▄п╫п╟я▐ я│п╠п╬я─п╨п╟ п╠я─п╟я┐п╥п╣я─п╟ Pale Moon
п≤п╫я┌п╣я─п╫п╣я┌-п╠я─п╟я┐п╥п╣я─ %sname - п╨я─п╬я│я│п©п╩п╟я┌я└п╬я─п╪п╣п╫п╫п╟я▐ п╪п╬п╢п╦я└п╦п╨п╟я├п╦я▐ п╠я─п╟я┐п╥п╣я─п╟ Mozilla Firefox ,
я│п╬п╥п╢п╟п╫п╫п╟я▐ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ я▐п╥я▀п╨п╟ XUL п╢п╩я▐ п╬п©п╦я│п╟п╫п╦я▐ п╦п╫я┌п╣я─я└п╣п╧я│п╟ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐.

%package -n rpm-build-palemoon
Summary: RPM helper macros to rebuild %name packages
Group: Development/Other
BuildArch: noarch

Requires: mozilla-common-devel
Requires: rpm-build-mozilla.org

%description -n rpm-build-palemoon
These helper macros provide possibility to rebuild
%sname packages by some Alt Linux Team Policy compatible way.

%prep
%setup -n %sname-%version -c

#cd UXP-PM%{version}_Release

# patch to move files directly to /usr/lib No more symlinks

pushd palemoon/platform
sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk
sed -e 's;$(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME)-devel;g' -i config/baseconfig.mk
popd

%setup -T -D -a 2
%setup -T -D -a 11

%patch24 -p1
#patch25 -p1

#patch21 -p1


%patch16 -p1

%patch18 -p1

%patch22 -p1

cd %sname
tar -xf %SOURCE1
cd ..

%patch23 -p1

#Pach from Rosa

##patch101 -p1 -b .lang
%patch103  -p1 -b .disable-software-update
%patch105  -p1 -b .default-mail-handler
%patch106 -p1 -b .addons
#patch107 -p1 -b .ua

# KDE integration

#patch111 -p1 -b .kdepatch
#patch112 -p1 -b .kdemoz
#patch113 -p1 -b .kdebackground

%patch114 -p1

cd %sname
# icons
for s in 16 22 24 32 48 256; do
install -D -m 644 \
../defaults-newmoon/default$s.png \
palemoon/branding/unofficial/
done

cat >> confvars.sh <<EOF
MOZ_UPDATER=
MOZ_JAVAXPCOM=
MOZ_EXTENSIONS_DEFAULT=' gio'
MOZ_CHROME_FILE_FORMAT=jar
EOF

echo %version > config/version.txt

rpath="/$(printf %%s '%newmoon_bindir' |tr '[:print:]' '_')"
export LDFLAGS="$LDFLAGS -Wl,-rpath,$rpath"

# for  palemoon_rpath-27.0.2.patch

export RPATH_PATH="$rpath"

# %__subst s~'$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)'~'$(MOZ_APP_NAME)$(MOZ_APP_VERSION)'~g  ./platform/config/baseconfig.mk


%__subst s~'"Moonchild Productions"'~'"Moonchild_Productions"'~g  ./platform/build/application.ini
%__subst s~'"Pale Moon"'~'"Pale_Moon"'~g  ./platform/build/application.ini

cp -f %SOURCE4 .mozconfig

echo "mk_add_options MOZ_OBJDIR=obj-%_arch" >> .mozconfig

echo "mk_add_options MOZ_MAKE_FLAGS=-j${NPROCS:-4}" >> .mozconfig
# echo "ac_add_options --enable-rpath"  >> .mozconfig

## echo "ac_add_options --disable-static" >> .mozconfig

echo "ac_add_options --disable-elf-hack" >> .mozconfig
echo "ac_add_options --enable-alsa --enable-pulseaudio" >> .mozconfig
echo "ac_add_options --enable-raw --enable-ffmpeg" >> .mozconfig

echo "ac_add_options --enable-system-hunspell" >> .mozconfig

echo "ac_add_options --with-pthreads" >> .mozconfig

echo "ac_add_options --x-libraries=%_libdir/X11" >> .mozconfig
echo "ac_add_options --with-nss-prefix=%_libdir/nss" >> .mozconfig

%ifarch %ix86
echo "ac_add_options --with-arch=i586" >> .mozconfig
echo 'ac_add_options --enable-optimize=" -march=i586 -msse2 -mfpmath=sse"' >> .mozconfig
%endif

%ifarch x86_64
echo "ac_add_options --with-arch=x86-64" >> .mozconfig
echo 'ac_add_options --enable-optimize=" -march=x86-64 -msse2 -mfpmath=sse"' >> .mozconfig
%endif

%build
cd %sname

%add_optflags %optflags_shared
%add_findprov_lib_path %newmoon_datadir

export MOZ_BUILD_APP=%sname

# Mozilla builds with -Wall with exception of a few warnings which show up

# everywhere in the code; so, don't override that.
#
# Disable C++ exceptions since Mozilla code is not exception-safe
#
MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | \
               sed -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')

export CFLAGS="$MOZ_OPT_FLAGS"
export CXXFLAGS="$MOZ_OPT_FLAGS -Wno-error=format-overflow -Wmaybe-uninitialized -Wreorder -D_GNUC_"

# Add fake RPATH

rpath="/$(printf %%s '%newmoon_bindir' |tr '[:print:]' '_')"
export LDFLAGS="$LDFLAGS -Wl,-rpath,$rpath"

# for  palemoon_rpath-27.0.2.patch

export RPATH_PATH="$rpath"

echo '%newmoon_bindir'
echo "$rpath"

export PREFIX="%prefix"
export LIBDIR="%_libdir"
export LIBIDL_CONFIG=%_bindir/libIDL-config-2
export srcdir="$PWD"
export SHELL=/bin/sh

%__autoconf

MOZ_SMP_FLAGS=-j1
%ifarch %ix86
[ "%__nprocs" -ge 2 ] && MOZ_SMP_FLAGS=-j2
[ "%__nprocs" -ge 4 ] && MOZ_SMP_FLAGS=-j4
%else
   MOZ_SMP_FLAGS=-j${NPROCS:-4}
%endif

TOPSRCDIR=$pwd

%make -f client.mk \
MAKENSISU= \
STRIP="/bin/true" \
MOZ_APP_VERSION=%version \
MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" \
mozappdir=%buildroot%newmoon_bindir \
clobber

%make -f client.mk \
MAKENSISU= \
STRIP="/bin/true" \
MOZ_APP_VERSION=%version \
MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" \
mozappdir=%buildroot%newmoon_bindir \
build

gcc %optflags \
-Wall -Wextra \
-DMOZ_PLUGIN_PATH=\"%browser_plugins_path\" \
-DMOZ_PROGRAM=\"%newmoon_bindir/%bname-bin\" \
%SOURCE7 -o %bname

%install
## ? install -D -m644 %SOURCE12 obj-%_arch/dist/bin/browser/defaults/profile/xulstore.json

# п╫я┐п╤п╣п╫ я┌п╬п╩я▄п╨п╬ я│ п©п╟я┌я┤п╟п╪п╦ KDE

# install -D -m644 %SOURCE13 obj-%_arch/dist/bin/defaults/pref/kde.js

cd palemoon

cd obj-%_arch
%makeinstall MOZ_APP_VERSION=%version SHELL=/bin/sh

#makeinstall_std MOZ_APP_VERSION=%version COMSPEC=rpm SHELL=/bin/sh

# MOZILLABUILD SHELL=/bin/sh COMSPEC=rpm

rm -f %buildroot%newmoon_bindir/%bname

mkdir -p \
%buildroot/%mozilla_arch_extdir/%palemoon_cid \
%buildroot/%mozilla_noarch_extdir/%palemoon_cid

cd ..

# icons

for s in 16 32 48; do
install -D -m 644 \
../defaults-newmoon/default$s.png \
%buildroot/%_iconsdir/hicolor/${s}x${s}/apps/%bname.png
done

if [ -f %buildroot/%_bindir/%sname ];then
   rm  -f %buildroot/%_bindir/%sname
fi

install  %bname  %buildroot/%_bindir/%bname

mkdir -p -- \
%buildroot/%_rpmmacrosdir

#sed \

# -e 's, at palemoon_version at ,%version,' \
# -e 's, at palemoon_release at ,%release,' \
# rpm-build/rpm.macros.%sname.standalone > %buildroot/%_rpmmacrosdir/%sname

install -D -m 644 rpm-build/rpm.macros.%sname.standalone  %buildroot/%_rpmmacrosdir/%sname

pushd %buildroot

# Remove devel files

rm -rf -- \
%buildroot%_libdir/newmoon-devel-%version \
%buildroot%_libdir/newmoon-devel \
%buildroot%_datadir/idl/%bname-%version

# install menu file

install -D -m 644 %SOURCE6 ./%_desktopdir/%bname.desktop
install -d -m 755 %buildroot/%newmoon_bindir/browser/defaults/preferences/

#cat > %buildroot/%newmoon_bindir/browser/defaults/preferences/%sname-l10n.js <<EOF

#pref("intl.locale.matchOS", true);
#pref("general.useragent.locale", "chrome://global/locale/intl.properties");
#pref("extensions.getAddons.cache.enabled", false);
#EOF

cat << EOF >> %buildroot%newmoon_bindir/defaults/pref/prefs.js
user_pref("browser.EULA.override", true);
user_pref("browser.ctrlTab.previews", true);
user_pref("browser.tabs.insertRelatedAfterCurrent", false);
user_pref("browser.tabs.onTop", true);
user_pref("browser.startup.homepage", "file://%_docdir/HTML/index.html");
user_pref("browser.backspace_action", 2);
user_pref("browser.display.use_system_colors", true);
user_pref("browser.download.folderList", 1);
user_pref("browser.link.open_external", 3);
user_pref("app.update.auto", false);
user_pref("app.update.enabled", false);
user_pref("app.update.autoInstallEnabled", false);
user_pref("dom.ipc.plugins.enabled.nswrapper*", false);
user_pref("extensions.autoDisableScopes", 0);
user_pref("extensions.shownSelectionUI", true);
user_pref("network.manage-offline-status", true);
user_pref("browser.urlbar.decodeURLsOnCopy", true);
EOF

install -m 644 %_builddir/palemoon-%version/defaults-newmoon/default48.png %buildroot%newmoon_bindir/browser/chrome/icons/default/PMaboutDialog48.png

set -x

# Add alternatives

mkdir -p ./%_altdir
printf '%_bindir/xbrowser\t%_bindir/%bname\t99\n' >./%_altdir/%bname

# Add real RPATH

(set -x
rpath="/$(printf %%s '%newmoon_bindir' |tr '[:print:]' '_')"

find \
%buildroot/%newmoon_bindir \
-type f |
while read f; do
t="$(readlink -ev "$f")"
echo $t
file "$t" | grep -Fqs ELF || continue
if chrpath -l "$t" | grep -Fqs "PATH=$rpath"; then
chrpath -r "%newmoon_bindir" "$t"
echo cmp Ok
else
echo cmp No
chrpath -l "$t"
echo PATH=$rpath
echo
fi
done
    )

#install -d   %buildroot/%_docdir/%bname-%version/

# Add Doc
install -D -m 644 %SOURCE9  %_builddir/%sname-%version
install -D -m 644 %SOURCE10 %_builddir/%sname-%version
install -D -m 644 %_builddir/palemoon-%version/palemoon/AUTHORS %_builddir/%sname-%version
install -D -m 644 %_builddir/palemoon-%version/palemoon/LICENSE %_builddir/%sname-%version
install -D -m 644 %_builddir/palemoon-%version/palemoon/README.md %_builddir/%sname-%version

%files -n %bname
%dir %newmoon_bindir
%newmoon_bindir/

%_desktopdir/%bname.desktop
%_miconsdir/%bname.png
%_niconsdir/%bname.png
%_liconsdir/%bname.png

%doc AUTHORS LICENSE HISTORY_GIT Changelog README.md
%_altdir/%bname
%_bindir/%bname

%mozilla_arch_extdir/%palemoon_cid
%mozilla_noarch_extdir/%palemoon_cid

%files -n rpm-build-%sname
%_rpmmacrosdir/%sname
%exclude %_includedir/*

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin