summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/angband-libre/PKGBUILD44
-rw-r--r--libre/angband-libre/libre.patch814
-rw-r--r--libre/angband-libre/sound.patch154
-rw-r--r--libre/doublecmd-libre/PKGBUILD11
-rw-r--r--libre/gummiboot/PKGBUILD19
-rw-r--r--libre/gummiboot/splash-parabola.bmpbin0 -> 470410 bytes
-rw-r--r--libre/iceweasel-libre/PKGBUILD4
-rw-r--r--libre/iceweasel-libre/libre.patch22
-rw-r--r--libre/iceweasel-libre/libre.patch.goal935
9 files changed, 867 insertions, 1136 deletions
diff --git a/libre/angband-libre/PKGBUILD b/libre/angband-libre/PKGBUILD
index 21bde2beb..e463637a8 100644
--- a/libre/angband-libre/PKGBUILD
+++ b/libre/angband-libre/PKGBUILD
@@ -1,32 +1,38 @@
-# Maintainer: Israfel <israfel@lavabit.com>
-# Original Maintainer: schuay <jakob.gruber@gmail.com>
-# Original Maintainer: Mike Sampson <mike at sambodata dot com>
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Mike Sampson <mike at sambodata dot com>
# Contributor: Adrian Stratulat <adrian.stratulat at inboxcom>
# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
# Contributor: KillaB <xGenoBlast@gmail.com>
# Contributor: Callan Barrett <wizzomafizzo@gmail.com>
# Contributor: Christian Schmidt <xmucknertx@googlemail.com>
# Contributor: Sebastian Sareyko <public@nooms.de>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
_pkgname=angband
pkgname=angband-libre
-pkgver=3.4.1
-pkgrel=1
-pkgdesc="A roguelike dungeon exploration game based on the writings of JRR Tolkien, without nonfree sound effects"
-arch=('i686' 'x86_64')
+pkgver=3.5.0
+pkgrel=2
+pkgdesc="A roguelike dungeon exploration game based on the writings of JRR Tolkien, without nonfree artwork and sound effects"
+arch=('i686' 'x86_64' 'mips64el')
url="http://rephial.org/"
license=('GPL2' 'custom')
replaces=$_pkgname
conflicts=$_pkgname
provides=$_pkgname=$pkgver
-depends=('sdl_image' 'sdl_ttf' 'sdl_mixer' 'ncurses' 'libglade')
-source=("http://rephial.org/downloads/${pkgver:0:3}/angband-v${pkgver}.tar.gz" "sound.patch")
+depends=('sdl_image' 'sdl_ttf' 'sdl_mixer' 'ncurses')
+source=("http://rephial.org/downloads/${pkgver:0:3}/${_pkgname}-v${pkgver}.tar.gz" 'libre.patch')
-build() {
+prepare() {
+ cd "${srcdir}/${_pkgname}-v${pkgver}"
+
+ # remove nonfree parts from source code
+ patch -Np1 -i ../libre.patch
+ rm -v lib/xtra/sound/*.mp3
+ rm -v lib/xtra/graf/64x64.png
+}
- cd "${srcdir}/angband-v${pkgver}"
-
- patch -Np1 -i ../sound.patch
+build() {
+ cd "${srcdir}/${_pkgname}-v${pkgver}"
./configure \
--prefix=/usr \
@@ -39,18 +45,16 @@ build() {
--enable-sdl-mixer
make
-
}
package() {
-
- cd "${srcdir}/angband-v${pkgver}"
+ cd "${srcdir}/${_pkgname}-v${pkgver}"
make DESTDIR="${pkgdir}" install
rm -f "${pkgdir}/usr/share/angband/*/delete.me"
- install -Dm644 copying.txt "${pkgdir}/usr/share/licenses/angband/COPYING"
-
+ install -Dm644 copying.txt "${pkgdir}/usr/share/licenses/${_pkgname}/COPYING"
}
-sha512sums=('76099c8fa999e88ea1324bb70b4dee5df1faccd1fa256cc0c460ce2c5ddae9634fdef876bd0d826e99e6dcc54a9f9cf619d82552dc658d0115b97e0e644c19d3'
- 'fb3795f7ef5a266e36ef51c9275e65613eeba04fc4283646f21e77ca571b1562c1ad9a11782fe8f1052cefc48b0f3fa1f162bfff88fe8cf62c39e142878d3251')
+
+md5sums=('4f6ee37abdb411285deb1685ddecba6a'
+ '3ac39f377bea2e208308d01f4213310f')
diff --git a/libre/angband-libre/libre.patch b/libre/angband-libre/libre.patch
new file mode 100644
index 000000000..a044bc6fe
--- /dev/null
+++ b/libre/angband-libre/libre.patch
@@ -0,0 +1,814 @@
+diff --git a/copying.txt b/copying.txt
+index fe1f289..82263b1 100644
+--- a/copying.txt
++++ b/copying.txt
+@@ -23,14 +23,6 @@ exceptions:
+ only under the terms of the Creative Commons Attribution 3.0 licence:
+ http://creativecommons.org/licenses/by/3.0/
+
+- * Shockbolt's (64x64) graphics are distributed under the licence at the end
+- of this file. Currently some of the tiles in the 64x64.png tilesheet were
+- resized from tiles made by David Gervais for the 32x32 set.
+-
+- * The sounds are licenced under the Creative Commons Attribution-NonCommercial-
+- Sharealike licence. They were created by Dubtrain <angband@dubtrain.com>.
+- You can find them in Wave format at http://www.dubtrain.com/angband/.
+-
+ * The font files are all by Leon Marrick and/or Sheldon Simms III and/or Nick
+ McConnell, all of whom have agreed to their Angband work being released
+ under the GPL.
+@@ -393,25 +385,3 @@ proprietary programs. If your program is a subroutine library, you may
+ consider it more useful to permit linking proprietary applications with the
+ library. If this is what you want to do, use the GNU Lesser General
+ Public License instead of this License.
+-
+-------------------------------------------------------------------------------
+-
+-The Shockbolt Angband 64x64/128x64 tileset is copyright (C) Raymond Gaustadnes
+-2012. It can be found in the file lib/xtra/graf/128x128.png.
+-
+-Permission is granted to:
+-* use the tileset with in-development and released versions of Angband
+-* distribute and make copies of the tileset with in-development and released
+- versions of Angband, as long as no fee is charged for it
+-* incorporate tiles designed by the author for variants of Angband and use and
+- distribute them with Angband under the terms above
+-
+-Permission is not granted to:
+-* modify the tileset without the author's permission.
+-* incorporate tiles designed for ToME that do not appear in the Angband tileset.
+-* use or distribute the tileset with other games or projects. If you want to
+- use and distribute the tileset with other games or projects, you must obtain
+- explicit permission from the author. Non-commercial games or projects may
+- be granted permission to use them, and if so, use will be allowed as long
+- as the game or project remains non-commercial. To use them in commercial
+- games, a non-exclusive licence must be acquired from the author.
+diff --git a/lib/xtra/graf/Makefile b/lib/xtra/graf/Makefile
+index e1e9111..ec54051 100644
+--- a/lib/xtra/graf/Makefile
++++ b/lib/xtra/graf/Makefile
+@@ -1,6 +1,6 @@
+ MKPATH=../../../mk/
+ include $(MKPATH)buildsys.mk
+
+-DATA = 8x8.png 8x16.png 16x16.png 32x32.png 64x64.png mr_att.png graphics.txt
++DATA = 8x8.png 8x16.png 16x16.png 32x32.png mr_att.png graphics.txt
+ PACKAGE = xtra/graf
+
+diff --git a/lib/xtra/graf/graphics.txt b/lib/xtra/graf/graphics.txt
+index 28078fc..02f32ab 100644
+--- a/lib/xtra/graf/graphics.txt
++++ b/lib/xtra/graf/graphics.txt
+@@ -47,8 +47,3 @@ N:4:Nomad's tiles
+ I:16:16:8x16.png
+ P:nomad
+ X:0:0:0
+-
+-N:5:Shockbolt's tiles
+-I:64:64:64x64.png
+-P:shock
+-X:1:29:31
+diff --git a/lib/xtra/sound/Makefile b/lib/xtra/sound/Makefile
+index 0fb522b..a4337fd 100644
+--- a/lib/xtra/sound/Makefile
++++ b/lib/xtra/sound/Makefile
+@@ -1,78 +1,7 @@
+ MKPATH=../../../mk/
+ include $(MKPATH)buildsys.mk
+
+-DATA = sound.cfg \
+- amb_bell_metal1.mp3 mco_scurry_dry.mp3 plm_drop_boot.mp3 \
+- amb_bell_metal2.mp3 mco_shake_roll.mp3 plm_eat_bite.mp3 \
+- amb_bell_tibet1.mp3 mco_snarl_short.mp3 plm_floor_creak.mp3 \
+- amb_bell_tibet2.mp3 mco_spray_long.mp3 plm_floor_creak2.mp3 \
+- amb_bell_tibet3.mp3 mco_squish_hit.mp3 plm_glass_break.mp3 \
+- amb_door_doom.mp3 mco_squish_snap.mp3 plm_glass_breaking.mp3 \
+- amb_door_iron.mp3 mco_strange_music.mp3 plm_glass_smashing.mp3 \
+- amb_dungeon_echo.mp3 mco_strange_thwoink.mp3 plm_jar_ding.mp3 \
+- amb_dungeon_echowet.mp3 mco_thoing_backwards.mp3 plm_levelup.mp3 \
+- amb_gong_chinese.mp3 mco_thoing_deep.mp3 plm_lock_case.mp3 \
+- amb_gong_low.mp3 mco_thud_crash.mp3 plm_lock_distant.mp3 \
+- amb_gong_strike.mp3 mco_tube_hit.mp3 plm_metal_clank.mp3 \
+- amb_gong_undertone.mp3 plc_bell_warn.mp3 plm_metal_sharpen.mp3 \
+- amb_guitar_chord.mp3 plc_die_laugh.mp3 plm_open_case.mp3 \
+- amb_pulse_low.mp3 plc_hit_anvil.mp3 plm_spell1.mp3 \
+- amb_thunder_rain.mp3 plc_hit_anvil2.mp3 plm_spell2.mp3 \
+- amb_thunder_roll.mp3 plc_hit_arrow.mp3 plm_spell3.mp3 \
+- id_bad_aww.mp3 plc_hit_body.mp3 plm_use_staff.mp3 \
+- id_bad_dang.mp3 plc_hit_groan.mp3 plm_wood_thud.mp3 \
+- id_bad_hmm.mp3 plc_hit_grunt.mp3 plm_zap_rod.mp3 \
+- id_bad_hmph.mp3 plc_hit_grunt2.mp3 pls_bell_bowl.mp3 \
+- id_bad_ohh.mp3 plc_hit_hay.mp3 pls_bell_chime_new.mp3 \
+- id_ego_whoa.mp3 plc_miss_arrow.mp3 pls_bell_glass.mp3 \
+- id_ego_woohoo.mp3 plc_miss_arrow2.mp3 pls_bell_hibell_soft.mp3 \
+- id_ego_yeah.mp3 plc_miss_swish.mp3 pls_bell_mute.mp3 \
+- id_ego_yeah2.mp3 plm_aim_wand.mp3 pls_bell_sustain.mp3 \
+- id_ego_yes.mp3 plm_bang_ceramic.mp3 pls_breathe_in.mp3 \
+- id_good_hey.mp3 plm_bang_dumpster.mp3 pls_man_argoh.mp3 \
+- id_good_hey2.mp3 plm_bang_metal.mp3 pls_man_gulp_new.mp3 \
+- id_good_hmm.mp3 plm_book_pageturn.mp3 pls_man_oooh.mp3 \
+- id_good_huh.mp3 plm_bottle_clinks.mp3 pls_man_scream2.mp3 \
+- id_good_ooh.mp3 plm_break_canister.mp3 pls_man_sigh.mp3 \
+- id_good_ooo.mp3 plm_break_glass.mp3 pls_man_sniff.mp3 \
+- id_good_wow.mp3 plm_break_glass2.mp3 pls_man_sob.mp3 \
+- mco_attack_breath.mp3 plm_break_plates.mp3 pls_man_spit.mp3 \
+- mco_attack_spray.mp3 plm_break_shatter.mp3 pls_man_ugh.mp3 \
+- mco_bite_chew.mp3 plm_break_smash.mp3 pls_man_yell.mp3 \
+- mco_bite_chomp.mp3 plm_break_wood.mp3 pls_tone_blurk.mp3 \
+- mco_bite_dainty.mp3 plm_cabinet_open.mp3 pls_tone_clave6.mp3 \
+- mco_bite_gnash.mp3 plm_cabinet_shut.mp3 pls_tone_clavelo8.mp3 \
+- mco_bite_hard.mp3 plm_chain_light.mp3 pls_tone_conk.mp3 \
+- mco_bite_long.mp3 plm_chest_latch.mp3 pls_tone_elec.mp3 \
+- mco_bite_munch.mp3 plm_chest_unlatch.mp3 pls_tone_goblet.mp3 \
+- mco_bite_regular.mp3 plm_chimes_jangle.mp3 pls_tone_guiro.mp3 \
+- mco_bite_short.mp3 plm_click_dry.mp3 pls_tone_headstock.mp3 \
+- mco_bite_small.mp3 plm_click_switch.mp3 pls_tone_scrape.mp3 \
+- mco_bite_soft.mp3 plm_click_switch2.mp3 pls_tone_stick.mp3 \
+- mco_card_shuffle.mp3 plm_click_switch3.mp3 sto_bell_desk.mp3 \
+- mco_castanet_trill.mp3 plm_click_wood.mp3 sto_bell_ding.mp3 \
+- mco_ceramic_trill.mp3 plm_close_hatch.mp3 sto_bell_dingaling.mp3 \
+- mco_click_vibra.mp3 plm_coins_dump.mp3 sto_bell_jingles.mp3 \
+- mco_creature_choking.mp3 plm_coins_light.mp3 sto_bell_register1.mp3 \
+- mco_creature_groan.mp3 plm_coins_pour.mp3 sto_bell_register2.mp3 \
+- mco_creature_yelp.mp3 plm_coins_shake.mp3 sto_bell_ringing.mp3 \
+- mco_cuica_rubbing.mp3 plm_cork_pop.mp3 sto_bell_shop.mp3 \
+- mco_dino_low.mp3 plm_cork_squeak.mp3 sto_coins_countertop.mp3 \
+- mco_dino_slur.mp3 plm_door_bolt.mp3 sto_man_haha.mp3 \
+- mco_dino_talk.mp3 plm_door_creak.mp3 sto_man_hey.mp3 \
+- mco_dino_yawn.mp3 plm_door_creakshut.mp3 sto_man_whoohaha.mp3 \
+- mco_dub_wobble.mp3 plm_door_dungeon.mp3 sum_angel_song.mp3 \
+- mco_frog_trill.mp3 plm_door_echolock.mp3 sum_bell_crystal.mp3 \
+- mco_hit_whip.mp3 plm_door_entrance.mp3 sum_bell_hand.mp3 \
+- mco_howl_croak.mp3 plm_door_knob.mp3 sum_bell_tone.mp3 \
+- mco_howl_deep.mp3 plm_door_latch.mp3 sum_chime_jangle.mp3 \
+- mco_howl_distressed.mp3 plm_door_open.mp3 sum_ghost_moan.mp3 \
+- mco_howl_high.mp3 plm_door_opening.mp3 sum_ghost_oooo.mp3 \
+- mco_howl_long.mp3 plm_door_rusty.mp3 sum_ghost_wail.mp3 \
+- mco_liquid_squirt.mp3 plm_door_shut.mp3 sum_gong_temple.mp3 \
+- mco_man_mumble.mp3 plm_door_slam.mp3 sum_laugh_evil2.mp3 \
+- mco_mouse_squeaks.mp3 plm_door_squeaky.mp3 sum_lion_growl.mp3 \
+- mco_rubber_thud.mp3 plm_door_wooden.mp3 sum_piano_scrape.mp3
++DATA = sound.cfg
+
+ PACKAGE = xtra/sound
+
+diff --git a/lib/xtra/sound/sound.cfg b/lib/xtra/sound/sound.cfg
+index a3f483f..41de805 100644
+--- a/lib/xtra/sound/sound.cfg
++++ b/lib/xtra/sound/sound.cfg
+@@ -9,21 +9,6 @@
+ # hit = hit.mp3 hit1.mp3
+ #
+
+-#
+-# This is the Dubtrain Angband Sound config list, v.3.1.0 - February 24th, 2009
+-#
+-# Licensed under a Creative Commons non-commercial agreement
+-#
+-# Inspired by the original Craig's Angband Sound Patch.
+-#
+-# But with all new sounds.
+-#
+-# contact angband@dubtrain.com
+-#
+-# download zipped archive at www.dubtrain.com/angband
+-#
+-#
+-
+ [Sound]
+
+ #
+@@ -31,484 +16,484 @@
+ #
+
+ # Town during the day.
+-ambient_day = amb_thunder_rain.mp3
++ambient_day =
+
+ # Town during the night.
+-ambient_nite = amb_guitar_chord.mp3 amb_thunder_roll.mp3
++ambient_nite =
+
+ # Dungeon levels 1-20 (50'-1000')
+-ambient_dng1 = amb_door_iron.mp3 amb_bell_metal1.mp3
++ambient_dng1 =
+
+ # Dungeon levels 21-40 (1050'-2000')
+-ambient_dng2 = amb_bell_tibet1.mp3 amb_bell_metal2.mp3 amb_gong_strike.mp3
++ambient_dng2 =
+
+ # Dungeon levels 41-60 (2050'-3000')
+-ambient_dng3 = amb_bell_tibet2.mp3 amb_dungeon_echo.mp3 amb_pulse_low.mp3
++ambient_dng3 =
+
+ # Dungeon levels 61-80 (3050'-4000')
+-ambient_dng4 = amb_bell_tibet3.mp3 amb_dungeon_echowet.mp3 amb_gong_undertone.mp3
++ambient_dng4 =
+
+ # Dungeon levels 81 and beyond (4050'-)
+-ambient_dng5 = amb_door_doom.mp3 amb_gong_chinese.mp3 amb_gong_low.mp3
++ambient_dng5 =
+
+ #
+ # Store sounds
+ #
+
+ # The shopkeep bought a worthless item.
+-store1 = sto_man_hey.mp3
++store1 =
+
+ # The shopkeep paid too much for an item.
+-store2 = id_bad_dang.mp3
++store2 =
+
+ # The shopkeep got away with a good bargain.
+-store3 = sto_man_haha.mp3
++store3 =
+
+ # The shopkeep got away with a great bargain.
+-store4 = sto_man_whoohaha.mp3
++store4 =
+
+ # You make a normal transaction (buying or selling).
+-store5 = sto_coins_countertop.mp3 sto_bell_register1.mp3 sto_bell_register2.mp3
++store5 =
+
+ # You enter a store.
+-store_enter = sto_bell_desk.mp3 sto_bell_ding.mp3 sto_bell_dingaling.mp3 sto_bell_jingles.mp3 sto_bell_ringing.mp3 sto_bell_shop.mp3
++store_enter =
+
+ # You enter your home.
+-store_home = plm_door_entrance.mp3
++store_home =
+
+ # You leave a store.
+-store_leave = plm_door_bolt.mp3
++store_leave =
+
+ #
+ # Player sounds - combat
+ #
+
+ # You succeed in a melee attack against a monster.
+-hit = plc_hit_hay.mp3 plc_hit_body.mp3
++hit =
+
+ # It was a good hit!
+-hit_good = plc_hit_anvil.mp3
++hit_good =
+
+ # It was a great hit!
+-hit_great = plc_hit_groan.mp3
++hit_great =
+
+ # It was a superb hit!
+-hit_superb = plc_hit_grunt.mp3
++hit_superb =
+
+ # It was a *GREAT* hit!
+-hit_hi_great = plc_hit_grunt2.mp3
++hit_hi_great =
+
+ # It was a *SUPERB* hit!
+-hit_hi_superb = plc_hit_anvil2.mp3
++hit_hi_superb =
+
+ # You miss a melee attack against a monster.
+-miss = plc_miss_arrow2.mp3
++miss =
+
+ # You fire a missile.
+-shoot = plc_miss_swish.mp3 plc_miss_arrow.mp3
++shoot =
+
+ # You hit something with a missile.
+-shoot_hit = plc_hit_arrow.mp3
++shoot_hit =
+
+ # You receive a hitpoint warning.
+-hitpoint_warn = plc_bell_warn.mp3
++hitpoint_warn =
+
+ # You die.
+-death = plc_die_laugh.mp3
++death =
+
+ #
+ # Player sounds - status changes
+ #
+
+ # You become blind.
+-blind = pls_tone_conk.mp3
++blind =
+
+ # You become confused.
+-confused = pls_man_ugh.mp3
++confused =
+
+ # You become poisoned.
+-poisoned = pls_tone_guiro.mp3
++poisoned =
+
+ # You become afraid.
+-afraid = pls_man_yell.mp3
++afraid =
+
+ # You become paralyzed.
+-paralyzed = pls_man_gulp_new.mp3
++paralyzed =
+
+ # You feel drugged (chaos effects).
+-drugged = pls_breathe_in.mp3
++drugged =
+
+ # You become slower.
+-slow = pls_man_sigh.mp3
++slow =
+
+ # You become stunned.
+-stun = pls_bell_mute.mp3
++stun =
+
+ # You suffer a cut.
+-cut = pls_man_argoh.mp3
++cut =
+
+ # A stat is drained
+-drain_stat = pls_tone_headstock.mp3
++drain_stat =
+
+ # You recover from a condition (blind, confused, etc.)
+-recover = pls_bell_chime_new.mp3
++recover =
+
+ # You become faster.
+-speed = pls_bell_sustain.mp3
++speed =
+
+ # You attain a mystic shield.
+-shield = pls_bell_bowl.mp3
++shield =
+
+ # You become blessed.
+-blessed = sum_angel_song.mp3
++blessed =
+
+ # You feel heroic.
+-hero = pls_tone_goblet.mp3
++hero =
+
+ # You are bold.
+-bold = pls_bell_hibell_soft.mp3
++bold =
+
+ # You become berserk.
+-berserk = pls_man_scream2.mp3
++berserk =
+
+ # You feel protected from evil.
+-prot_evil = pls_bell_glass.mp3
++prot_evil =
+
+ # You feel invulnerable. (does any item/spell do this anymore?)
+-invuln = pls_tone_blurk.mp3
++invuln =
+
+ # You can see invisible things.
+-see_invis = pls_tone_clave6.mp3
++see_invis =
+
+ # You can see the infrared spectrum
+-infrared = pls_tone_clavelo8.mp3
++infrared =
+
+ # You become resistant to acid.
+-res_acid = pls_man_sniff.mp3
++res_acid =
+
+ # You become resistant to electricity.
+-res_elec = pls_tone_elec.mp3
++res_elec =
+
+ # You become resistant to fire.
+-res_fire = pls_tone_scrape.mp3
++res_fire =
+
+ # You become resistant to cold.
+-res_cold = pls_tone_stick.mp3
++res_cold =
+
+ # You become resistant to poison.
+-res_pois = pls_man_spit.mp3
++res_pois =
+
+ # You become hungry.
+-hungry = pls_man_sob.mp3
++hungry =
+
+ #
+ # Player sounds - misc.
+ #
+
+ # You pick up money worth less than 200 au.
+-money1 = plm_coins_light.mp3 plm_coins_shake.mp3
++money1 =
+
+ # You pick up money worth between 200 and 600 au.
+-money2 = plm_chain_light.mp3 plm_coins_pour.mp3
++money2 =
+
+ # You pick up money worth 600 au or more.
+-money3 = plm_coins_dump.mp3
++money3 =
+
+ # You (or a monster) drop something on the ground.
+-drop = plm_drop_boot.mp3
++drop =
+
+ # You gain (or regain) a level.
+-level = plm_levelup.mp3
++level =
+
+ # You successfully study a spell or prayer.
+-study = plm_book_pageturn.mp3
++study =
+
+ # You teleport or phase door.
+-teleport = plm_chimes_jangle.mp3
++teleport =
+
+ # You quaff a potion.
+-quaff = plm_bottle_clinks.mp3 plm_cork_pop.mp3 plm_cork_squeak.mp3
++quaff =
+
+ # You zap a rod.
+-zap_rod = plm_zap_rod.mp3
++zap_rod =
+
+ # You take a step. (unimplemented)
+ walk =
+
+ # You teleport someone else away.
+-tpother = plm_chimes_jangle.mp3
++tpother =
+
+ # You bump into a wall or door.
+-hitwall = plm_wood_thud.mp3
++hitwall =
+
+ # You eat something.
+-eat = plm_eat_bite.mp3
++eat =
+
+ # You successfully dig through something.
+-dig = plm_metal_clank.mp3
++dig =
+
+ # You open a door.
+-opendoor = plm_door_bolt.mp3 plm_door_creak.mp3 plm_door_dungeon.mp3 plm_door_entrance.mp3 plm_door_open.mp3 plm_door_opening.mp3 plm_door_rusty.mp3 plm_door_squeaky.mp3
++opendoor =
+
+ # You shut a door.
+-shutdoor = plm_bang_dumpster.mp3 plm_cabinet_shut.mp3 plm_close_hatch.mp3 plm_door_creakshut.mp3 plm_door_latch.mp3 plm_door_shut.mp3 plm_door_slam.mp3
++shutdoor =
+
+ # You teleport from a level (including via recall).
+-tplevel = sum_bell_crystal.mp3
++tplevel =
+
+ # Default "bell" sound for system messages.
+-bell = plm_jar_ding.mp3
++bell =
+
+ # You try to open something that's not a door.
+-nothing_to_open = plm_click_switch2.mp3 plm_door_knob.mp3
++nothing_to_open =
+
+ # You fail to pick a lock.
+-lockpick_fail = plm_click_dry.mp3 plm_click_switch.mp3 plm_click_wood.mp3 plm_door_echolock.mp3 plm_door_wooden.mp3
++lockpick_fail =
+
+ # You pick a lock.
+-lockpick = plm_break_wood.mp3 plm_cabinet_open.mp3 plm_chest_unlatch.mp3 plm_lock_case.mp3 plm_lock_distant.mp3 plm_open_case.mp3
++lockpick =
+
+ # You disarm a trap.
+-disarm = plm_bang_ceramic.mp3 plm_chest_latch.mp3 plm_click_switch3.mp3
++disarm =
+
+ # You go up stairs.
+-stairs_up = plm_floor_creak2.mp3
++stairs_up =
+
+ # You go down stairs.
+-stairs_down = plm_floor_creak.mp3
++stairs_down =
+
+ # You activate an artifact.
+-act_artifact = plm_aim_wand.mp3
++act_artifact =
+
+ # You use a staff.
+-use_staff = plm_use_staff.mp3
++use_staff =
+
+ # An object is destroyed.
+-destroy = plm_bang_metal.mp3 plm_break_canister.mp3 plm_break_glass.mp3 plm_break_glass2.mp3 plm_break_plates.mp3 plm_break_shatter.mp3 plm_break_smash.mp3 plm_glass_breaking.mp3 plm_glass_break.mp3 plm_glass_smashing.mp3
++destroy =
+
+ # You wield or take off something.
+-wield = plm_metal_sharpen.mp3
++wield =
+
+ # You wield a cursed item.
+-cursed = pls_man_oooh.mp3
++cursed =
+
+ # You notice something (generic notice)
+-notice = id_bad_hmm.mp3
++notice =
+
+ # You notice something about your equipment or inventory.
+-pseudo_id = id_good_hmm.mp3
++pseudo_id =
+
+ # You successfully cast a spell.
+-cast_spell = plm_spell1.mp3 plm_spell2.mp3 plm_spell3.mp3
++cast_spell =
+
+ # You successfully pray a prayer.
+-pray_prayer = sum_angel_song.mp3
++pray_prayer =
+
+ #
+ # Monster Sounds - combat
+ #
+
+ # A monster flees in terror.
+-flee = mco_creature_yelp.mp3
++flee =
+
+ # A monster is killed.
+-kill = mco_howl_croak.mp3 mco_howl_deep.mp3 mco_howl_distressed.mp3 mco_howl_high.mp3 mco_howl_long.mp3
++kill =
+
+ # A unique is killed.
+-kill_unique = sum_ghost_wail.mp3
++kill_unique =
+
+ # Morgoth, Lord of Darkness is killed.
+-kill_king = amb_guitar_chord.mp3
++kill_king =
+
+ # Attack - hit
+-mon_hit = mco_hit_whip.mp3
++mon_hit =
+
+ # Attack - touch
+-mon_touch = mco_click_vibra.mp3
++mon_touch =
+
+ # Attack - punch
+-mon_punch = mco_squish_snap.mp3
++mon_punch =
+
+ # Attack - kick
+-mon_kick = mco_rubber_thud.mp3
++mon_kick =
+
+ # Attack - claw
+-mon_claw = mco_ceramic_trill.mp3 mco_scurry_dry.mp3
++mon_claw =
+
+ # Attack - bite
+-mon_bite = mco_snarl_short.mp3 mco_bite_soft.mp3 mco_bite_munch.mp3 mco_bite_long.mp3 mco_bite_short.mp3 mco_bite_gnash.mp3 mco_bite_chomp.mp3 mco_bite_regular.mp3 mco_bite_small.mp3 mco_bite_dainty.mp3 mco_bite_hard.mp3 mco_bite_chew.mp3
++mon_bite =
+
+ # Attack - sting
+-mon_sting = mco_castanet_trill.mp3 mco_tube_hit.mp3
++mon_sting =
+
+ # Attack - butt
+-mon_butt = mco_cuica_rubbing.mp3 mco_thud_crash.mp3
++mon_butt =
+
+ # Attack - crush
+-mon_crush = mco_dino_low.mp3 mco_squish_hit.mp3
++mon_crush =
+
+ # Attack - engulf
+-mon_engulf = mco_dino_talk.mp3 mco_dino_yawn.mp3
++mon_engulf =
+
+ # Attack - crawl
+-mon_crawl = mco_card_shuffle.mp3 mco_shake_roll.mp3
++mon_crawl =
+
+ # Attack - drool
+-mon_drool = mco_creature_choking.mp3 mco_liquid_squirt.mp3
++mon_drool =
+
+ # Attack - spit
+-mon_spit = mco_attack_spray.mp3
++mon_spit =
+
+ # Attack - gaze
+-mon_gaze = mco_thoing_backwards.mp3
++mon_gaze =
+
+ # Attack - wail
+-mon_wail = mco_dino_low.mp3
++mon_wail =
+
+ # Attack - release spores
+-mon_spore = mco_dub_wobble.mp3 mco_spray_long.mp3
++mon_spore =
+
+ # Attack - beg for money
+-mon_beg = mco_man_mumble.mp3
++mon_beg =
+
+ # Attack - insult
+-mon_insult = mco_strange_thwoink.mp3
++mon_insult =
+
+ # Attack - moan
+-mon_moan = mco_strange_music.mp3
++mon_moan =
+
+ # Attack - shriek
+-mon_shriek = mco_mouse_squeaks.mp3
++mon_shriek =
+
+ # Spell - create traps
+-mon_create_trap = mco_thoing_deep.mp3
++mon_create_trap =
+
+ # Spell - cause fear
+-mon_cast_fear = mco_creature_groan.mp3 mco_dino_slur.mp3
++mon_cast_fear =
+
+ # Multiply (breed explosively)
+-multiply = mco_frog_trill.mp3
++multiply =
+
+ #
+ # Summons
+ #
+
+ # Summon one or more monsters.
+-summon_monster = sum_chime_jangle.mp3
++summon_monster =
+
+ # Summon angels.
+-summon_ainu = sum_angel_song.mp3
++summon_ainu =
+
+ # Summon undead.
+-summon_undead = sum_ghost_oooo.mp3
++summon_undead =
+
+ # Summon animals.
+-summon_animal = sum_lion_growl.mp3
++summon_animal =
+
+ # Summon spiders.
+-summon_spider = sum_piano_scrape.mp3
++summon_spider =
+
+ # Summon hounds.
+-summon_hound = sum_lion_growl.mp3
++summon_hound =
+
+ # Summon hydras.
+-summon_hydra = sum_piano_scrape.mp3
++summon_hydra =
+
+ # Summon demons.
+-summon_demon = sum_ghost_wail.mp3 sum_laugh_evil2.mp3
++summon_demon =
+
+ # Summon dragon.
+-summon_dragon = sum_piano_scrape.mp3
++summon_dragon =
+
+ # Summon greater undead.
+-summon_gr_undead = sum_ghost_moan.mp3
++summon_gr_undead =
+
+ # Summon greater dragons.
+-summon_gr_dragon = sum_gong_temple.mp3
++summon_gr_dragon =
+
+ # Summon greater demons.
+-summon_gr_demon = sum_ghost_moan.mp3
++summon_gr_demon =
+
+ # Summon Ringwraiths.
+-summon_ringwraith = sum_bell_hand.mp3
++summon_ringwraith =
+
+ # Summon uniques.
+-summon_unique = sum_bell_tone.mp3
++summon_unique =
+
+ #
+ # Breath weapons
+ #
+
+ # Breathe frost.
+-breathe_frost = mco_attack_breath.mp3
++breathe_frost =
+
+ # Breathe electricity.
+-breathe_elec = mco_attack_breath.mp3
++breathe_elec =
+
+ # Breathe acid.
+-breathe_acid = mco_attack_breath.mp3
++breathe_acid =
+
+ # Breathe gas.
+-breathe_gas = mco_attack_breath.mp3
++breathe_gas =
+
+ # Breathe fire.
+-breathe_fire = mco_attack_breath.mp3
++breathe_fire =
+
+ # Breathe confusion.
+-breathe_confusion = mco_attack_breath.mp3
++breathe_confusion =
+
+ # Breathe disenchantment.
+-breathe_disenchant = mco_attack_breath.mp3
++breathe_disenchant =
+
+ # Breathe chaos.
+-breathe_chaos = mco_attack_breath.mp3
++breathe_chaos =
+
+ # Breathe shards.
+-breathe_shards = mco_attack_breath.mp3
++breathe_shards =
+
+ # Breathe sound.
+-breathe_sound = mco_attack_breath.mp3
++breathe_sound =
+
+ # Breathe light.
+-breathe_light = mco_attack_breath.mp3
++breathe_light =
+
+ # Breathe darkness.
+-breathe_dark = mco_attack_breath.mp3
++breathe_dark =
+
+ # Breathe nether.
+-breathe_nether = mco_attack_breath.mp3
++breathe_nether =
+
+ # Breathe nexus.
+-breathe_nexus = mco_attack_breath.mp3
++breathe_nexus =
+
+ # Breathe time.
+-breathe_time = mco_attack_breath.mp3
++breathe_time =
+
+ # Breathe inertia.
+-breathe_inertia = mco_attack_breath.mp3
++breathe_inertia =
+
+ # Breathe gravity.
+-breathe_gravity = mco_attack_breath.mp3
++breathe_gravity =
+
+ # Breathe plasma.
+-breathe_plasma = mco_attack_breath.mp3
++breathe_plasma =
+
+ # Breathe force.
+-breathe_force = mco_attack_breath.mp3
++breathe_force =
+
+ # Breathe the elements (power dragon scale mail).
+-breathe_elements = mco_attack_breath.mp3
++breathe_elements =
+
+ #
+ # Identifying Items
+ #
+
+ # Identify a bad item (including bad ego items and artifacts).
+-identify_bad = id_bad_aww.mp3 id_bad_dang.mp3 id_bad_hmm.mp3 id_bad_hmph.mp3 id_bad_ohh.mp3
++identify_bad =
+
+ # Identify a good ego item.
+-identify_ego = id_ego_whoa.mp3 id_ego_woohoo.mp3 id_ego_yeah.mp3 id_ego_yeah2.mp3 id_ego_yes.mp3
++identify_ego =
+
+ # Identify a good artifact.
+-identify_art = id_good_hey.mp3 id_good_hey2.mp3 id_good_hmm.mp3 id_good_huh.mp3 id_good_ooh.mp3 id_good_ooo.mp3 id_good_wow.mp3
++identify_art =
+
diff --git a/libre/angband-libre/sound.patch b/libre/angband-libre/sound.patch
deleted file mode 100644
index e70373b72..000000000
--- a/libre/angband-libre/sound.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-# Removes nonfree sounds
-# Made by Israfel <israfel@lavabit.com>
-diff -Nur angband-v3.4.1/copying.txt angband-v3.4.1-libre/copying.txt
---- angband-v3.4.1/copying.txt 2012-10-19 15:47:23.000000000 -0400
-+++ angband-v3.4.1-libre/copying.txt 2013-06-29 20:07:03.250510548 -0400
-@@ -27,8 +27,6 @@
- of this file. Currently some of the tiles in the 64x64.png tilesheet were
- resized from tiles made by David Gervais for the 32x32 set.
-
-- * the sounds are freeware, whatever that means.
--
- * The font files are all by Leon Marrick and/or Sheldon Simms III and/or Nick
- McConnell, all of whom have agreed to their Angband work being released
- under the GPL.
-Binary files angband-v3.4.1/lib/xtra/sound/breath.wav and angband-v3.4.1-libre/lib/xtra/sound/breath.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/clunk.wav and angband-v3.4.1-libre/lib/xtra/sound/clunk.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/death.wav and angband-v3.4.1-libre/lib/xtra/sound/death.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/destroy.wav and angband-v3.4.1-libre/lib/xtra/sound/destroy.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/drop.wav and angband-v3.4.1-libre/lib/xtra/sound/drop.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/eat.wav and angband-v3.4.1-libre/lib/xtra/sound/eat.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/flee.wav and angband-v3.4.1-libre/lib/xtra/sound/flee.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/hallu.wav and angband-v3.4.1-libre/lib/xtra/sound/hallu.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/hit1.wav and angband-v3.4.1-libre/lib/xtra/sound/hit1.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/hit.wav and angband-v3.4.1-libre/lib/xtra/sound/hit.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/kill1.wav and angband-v3.4.1-libre/lib/xtra/sound/kill1.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/kill.wav and angband-v3.4.1-libre/lib/xtra/sound/kill.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/level.wav and angband-v3.4.1-libre/lib/xtra/sound/level.wav differ
-diff -Nur angband-v3.4.1/lib/xtra/sound/Makefile angband-v3.4.1-libre/lib/xtra/sound/Makefile
---- angband-v3.4.1/lib/xtra/sound/Makefile 2012-10-19 15:47:23.000000000 -0400
-+++ angband-v3.4.1-libre/lib/xtra/sound/Makefile 2013-06-29 20:05:33.734131933 -0400
-@@ -1,9 +1,6 @@
- MKPATH=../../../mk/
- include $(MKPATH)buildsys.mk
-
--DATA = sound.cfg breath.wav clunk.wav death.wav destroy.wav drop.wav eat.wav \
-- flee.wav hallu.wav hit.wav hit1.wav kill.wav kill1.wav level.wav \
-- miss.wav miss1.wav money.wav opendoor.wav shutdoor.wav thump.wav \
-- vomit.wav
-+DATA = sound.cfg
- PACKAGE = xtra/sound
-
-Binary files angband-v3.4.1/lib/xtra/sound/miss1.wav and angband-v3.4.1-libre/lib/xtra/sound/miss1.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/miss.wav and angband-v3.4.1-libre/lib/xtra/sound/miss.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/money.wav and angband-v3.4.1-libre/lib/xtra/sound/money.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/opendoor.wav and angband-v3.4.1-libre/lib/xtra/sound/opendoor.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/shutdoor.wav and angband-v3.4.1-libre/lib/xtra/sound/shutdoor.wav differ
-diff -Nur angband-v3.4.1/lib/xtra/sound/sound.cfg angband-v3.4.1-libre/lib/xtra/sound/sound.cfg
---- angband-v3.4.1/lib/xtra/sound/sound.cfg 2012-10-19 15:47:23.000000000 -0400
-+++ angband-v3.4.1-libre/lib/xtra/sound/sound.cfg 2013-06-29 20:06:41.344730009 -0400
-@@ -41,19 +41,19 @@
- #
-
- # The shopkeep bought a worthless item.
--store1 = money.wav
-+store1 =
-
- # The shopkeep paid too much for an item.
--store2 = money.wav
-+store2 =
-
- # The shopkeep got away with a good bargain.
--store3 = money.wav
-+store3 =
-
- # The shopkeep got away with a great bargain.
--store4 = money.wav
-+store4 =
-
- # You make a normal transaction (buying or selling).
--store5 = money.wav
-+store5 =
-
- # You enter a store.
- store_enter =
-@@ -69,7 +69,7 @@
- #
-
- # You succeed in a melee attack against a monster.
--hit = hit.wav drop.wav hit1.wav
-+hit =
-
- # It was a good hit!
- hit_good =
-@@ -87,7 +87,7 @@
- hit_hi_superb =
-
- # You miss a melee attack against a monster.
--miss = miss.wav miss1.wav
-+miss =
-
- # You fire a missile.
- shoot =
-@@ -99,7 +99,7 @@
- hitpoint_warn =
-
- # You die.
--death = death.wav
-+death =
-
- #
- # Player sounds - status changes
-@@ -200,10 +200,10 @@
- money3 =
-
- # You (or a monster) drop something on the ground.
--drop = clunk.wav
-+drop =
-
- # You gain (or regain) a level.
--level = level.wav
-+level =
-
- # You successfully study a spell or prayer.
- study =
-@@ -227,19 +227,19 @@
- hitwall =
-
- # You eat something.
--eat = eat.wav
-+eat =
-
- # You successfully dig through something.
--dig = thump.wav
-+dig =
-
- # You open a door.
--opendoor = opendoor.wav
-+opendoor =
-
- # You shut a door.
--shutdoor = shutdoor.wav
-+shutdoor =
-
- # You teleport from a level (including via recall).
--tplevel = teleport.wav
-+tplevel =
-
- # Default "bell" sound for system messages.
- bell =
-@@ -294,10 +294,10 @@
- #
-
- # A monster flees in terror.
--flee = flee.wav
-+flee =
-
- # A monster is killed.
--kill = kill.wav destroy.wav kill1.wav
-+kill =
-
- # A unique is killed.
- kill_unique =
-Binary files angband-v3.4.1/lib/xtra/sound/thump.wav and angband-v3.4.1-libre/lib/xtra/sound/thump.wav differ
-Binary files angband-v3.4.1/lib/xtra/sound/vomit.wav and angband-v3.4.1-libre/lib/xtra/sound/vomit.wav differ
diff --git a/libre/doublecmd-libre/PKGBUILD b/libre/doublecmd-libre/PKGBUILD
index 522204000..c08273344 100644
--- a/libre/doublecmd-libre/PKGBUILD
+++ b/libre/doublecmd-libre/PKGBUILD
@@ -1,14 +1,14 @@
# vim:set ft=sh:
-# $Id: PKGBUILD 99027 2013-10-22 19:14:23Z idevolder $
+# $Id: PKGBUILD 103163 2013-12-28 11:01:37Z idevolder $
# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
# Contributor: (sirocco AT ngs.ru)
_pkgbase=doublecmd
pkgbase=doublecmd-libre
pkgname=('doublecmd-libre-gtk2' 'doublecmd-libre-qt')
-pkgver=0.5.7
+pkgver=0.5.8
_helpver=0.5.5
-pkgrel=2
+pkgrel=1
url="http://doublecmd.sourceforge.net/"
arch=('i686' 'x86_64')
license=('GPL')
@@ -24,8 +24,6 @@ source=(
"http://downloads.sourceforge.net/project/$_pkgbase/Double%20Commander%20Source/$_pkgbase-$pkgver-src.tar.gz"
"http://downloads.sourceforge.net/project/$_pkgbase/Double%20Commander%20Source/$_pkgbase-help-$_helpver-src.tar.gz"
)
-sha256sums=('8e2059f986fff26da5d7b98af95be64b12c5cef6b50fe3cacd9a2805947aa343'
- '5c5d00187df811df0734bf751a581bce7e1bdd4cf4639b2a1101f1da8743daaf')
build() {
cp -a $_pkgbase-$pkgver $_pkgbase-gtk
@@ -76,3 +74,6 @@ package_doublecmd-libre-qt() {
cd "$srcdir/$_pkgbase-help-$_helpver"
cp -a * "$pkgdir/usr/share/$_pkgbase/doc/"
}
+
+sha256sums=('bfa85693b6cc06b7fd28ec8bd443ad9fb9d79d27a541e4f4d54bb9da2fb052ea'
+ '5c5d00187df811df0734bf751a581bce7e1bdd4cf4639b2a1101f1da8743daaf')
diff --git a/libre/gummiboot/PKGBUILD b/libre/gummiboot/PKGBUILD
index 9e56d810c..bd697b3f6 100644
--- a/libre/gummiboot/PKGBUILD
+++ b/libre/gummiboot/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 200583 2013-11-29 11:48:46Z tpowa $
+# $Id: PKGBUILD 202399 2013-12-21 16:55:19Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
@@ -6,7 +6,7 @@
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
pkgname="gummiboot"
-pkgver="39"
+pkgver="41"
pkgrel="1"
pkgdesc="Simple text-mode UEFI Boot Manager (Parabola rebranded)"
url="http://freedesktop.org/wiki/Software/gummiboot"
@@ -18,10 +18,15 @@ conflicts=('gummiboot-efi')
provides=('gummiboot-efi')
replaces=('gummiboot-efi')
options=('!strip' '!makeflags')
-source=("git://anongit.freedesktop.org/${pkgname}#tag=${pkgver}"
+source=("git://anongit.freedesktop.org/${pkgname}#commit=ba731cee"
'loader.conf'
- 'parabola.conf')
+ 'parabola.conf'
+ 'splash-parabola.bmp')
install="gummiboot.install"
+md5sums=('SKIP'
+ '3d700d13aec5ab1b78a921eaf22e5bfa'
+ '36ee74767ac8734dede1cbd0f4f275d7'
+ 'c146ea0e16fff867164e113c48c91fff')
build() {
cd ${srcdir}/${pkgname}
@@ -37,10 +42,10 @@ package() {
install -D -m0644 "${srcdir}/loader.conf" "${pkgdir}/usr/lib/gummiboot/loader/loader.conf"
install -D -m0644 "${srcdir}/parabola.conf" "${pkgdir}/usr/lib/gummiboot/loader/entries/parabola.conf"
+ ## ship an Parabola GNU/Linux-libre boot splash (still has to be dropped in manually to take effect)
+ install -D -m0644 "${srcdir}/splash-parabola.bmp" "${pkgdir}/usr/lib/gummiboot/splash-parabola.bmp"
+
cd ${srcdir}/${pkgname}
make DESTDIR="${pkgdir}" install
}
-md5sums=('SKIP'
- '3d700d13aec5ab1b78a921eaf22e5bfa'
- '36ee74767ac8734dede1cbd0f4f275d7')
diff --git a/libre/gummiboot/splash-parabola.bmp b/libre/gummiboot/splash-parabola.bmp
new file mode 100644
index 000000000..11ceeff28
--- /dev/null
+++ b/libre/gummiboot/splash-parabola.bmp
Binary files differ
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index 043e68da8..ad6233f39 100644
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -23,7 +23,7 @@ _pkgname=iceweasel
pkgname=iceweasel-libre
epoch=1
pkgver=$_debver.$_debrel
-pkgrel=1
+pkgrel=2
pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox."
arch=(i686 x86_64 mips64el)
@@ -64,7 +64,7 @@ md5sums=('219cf21e0642e8a364365286f23d0624'
'2001d0477bcefd0eeaab584402133691'
'023120a970670dc85cea19393f0b94b6'
'df08eaa1ac3bc6c2356be4fbf8ec8932'
- '6df26fc131b88c9ec894757681e7f6a6'
+ 'fea121a94737ec8641b39e7120a048d3'
'b03a979a78484503ba8dddad4f2c96d1'
'7b9e5996dd9fe0b186a43a297db1c6b5'
'6620e724ec9a1be74e65089d81d802f7'
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
index ced25fcc5..2384818b4 100644
--- a/libre/iceweasel-libre/libre.patch
+++ b/libre/iceweasel-libre/libre.patch
@@ -28,10 +28,10 @@ index 331edc8..226508d 100644
pref("dom.identity.enabled", false);
diff --git a/browser/base/content/abouthome/aboutHome.css b/browser/base/content/abouthome/aboutHome.css
-index c270318..d4ecde0 100644
+index c270318..049fe6e 100644
--- a/browser/base/content/abouthome/aboutHome.css
+++ b/browser/base/content/abouthome/aboutHome.css
-@@ -49,15 +49,6 @@ a {
+@@ -49,11 +49,6 @@ a {
background-repeat: no-repeat;
}
@@ -40,14 +40,10 @@ index c270318..d4ecde0 100644
- width: 470px;
-}
-
--#searchForm {
-- display: -moz-box;
--}
--
- #searchLogoContainer {
+ #searchForm {
display: -moz-box;
- -moz-box-align: center;
-@@ -72,8 +63,7 @@ a {
+ }
+@@ -72,8 +67,7 @@ a {
#searchEngineLogo {
display: inline-block;
height: 28px;
@@ -57,7 +53,7 @@ index c270318..d4ecde0 100644
}
#searchText {
-@@ -145,48 +135,6 @@ a {
+@@ -145,48 +139,6 @@ a {
transition-duration: 0ms;
}
@@ -106,7 +102,7 @@ index c270318..d4ecde0 100644
#launcher {
display: -moz-box;
-moz-box-align: center;
-@@ -335,26 +283,25 @@ body[narrow] #restorePreviousSession::before {
+@@ -335,26 +287,25 @@ body[narrow] #restorePreviousSession::before {
width: 32px;
}
@@ -139,7 +135,7 @@ index c270318..d4ecde0 100644
}
/* [HiDPI]
-@@ -366,26 +313,6 @@ body[narrow] #restorePreviousSession::before {
+@@ -366,26 +317,6 @@ body[narrow] #restorePreviousSession::before {
background-image: url("chrome://branding/content/about-logo@2x.png");
}
@@ -166,7 +162,7 @@ index c270318..d4ecde0 100644
#downloads::before {
content: url("chrome://browser/content/abouthome/downloads@2x.png");
}
-@@ -421,9 +348,5 @@ body[narrow] #restorePreviousSession::before {
+@@ -421,9 +352,5 @@ body[narrow] #restorePreviousSession::before {
body[narrow] #restorePreviousSession::before {
content: url("chrome://browser/content/abouthome/restore@2x.png");
}
diff --git a/libre/iceweasel-libre/libre.patch.goal b/libre/iceweasel-libre/libre.patch.goal
deleted file mode 100644
index 5d4bca224..000000000
--- a/libre/iceweasel-libre/libre.patch.goal
+++ /dev/null
@@ -1,935 +0,0 @@
-diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
-index 331edc8..226508d 100644
---- a/browser/app/profile/firefox.js
-+++ b/browser/app/profile/firefox.js
-@@ -242,11 +242,6 @@ pref("browser.slowStartup.notificationDisabled", false);
- pref("browser.slowStartup.timeThreshold", 60000);
- pref("browser.slowStartup.maxSamples", 5);
-
--// This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
--// this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
--// repackager of this code using an alternate snippet url, please keep your users safe
--pref("browser.aboutHomeSnippets.updateUrl", "https://snippets.mozilla.com/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/");
--
- pref("browser.enable_automatic_image_resizing", true);
- pref("browser.chrome.site_icons", true);
- pref("browser.chrome.favicons", true);
-@@ -1283,11 +1278,7 @@ pref("pdfjs.previousHandler.alwaysAskBeforeHandling", false);
- // (This is intentionally on the high side; see bug 746055.)
- pref("image.mem.max_decoded_image_kb", 256000);
-
--// Default social providers
--pref("social.manifest.facebook", "{\"origin\":\"https://www.facebook.com\",\"name\":\"Facebook Messenger\",\"workerURL\":\"https://www.facebook.com/desktop/fbdesktop2/socialfox/fbworker.js.php\",\"shareURL\":\"https://www.facebook.com/sharer/sharer.php?u=%{url}\",\"iconURL\":\"data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAAX0lEQVQ4jWP4%2F%2F8%2FAyUYTFhHzjgDxP9JxGeQDSBVMxgTbUBCxer%2Fr999%2BQ8DJBuArJksA9A10s8AXIBoA0B%2BR%2FY%2FjD%2BEwoBoA1yT5v3PbdmCE8MAshhID%2FUMoDgzUYIBj0Cgi7ar4coAAAAASUVORK5CYII%3D\",\"sidebarURL\":\"https://www.facebook.com/desktop/fbdesktop2/?socialfox=true\",\"icon32URL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAADbklEQVRYCc1Xv08UQRj99tctexAuCEFjRE0kGBEtLDSGqIWNxkYKbTAxNlY2JhaGWltNtNFeKgsKKxITK43/gCYW+IsoRhA4D47bH7fn9+bcvdm5JR7sefolC3Ozu9978+bNN7PayUv3HN3umdY0Y6IWBtSJ0HSTarXqTOiuTep6Lj+tdxAcA8RAgSmwdd2aCDs0clldYALb/FvgYVhjmfliVA2XpjEgWo0Attn42Z6WH1RFor5ehwo9XQIUZMoVn4qlCoVMSo62EvD8Kh0b3U2Xz43R2PBO6mUCGDlAf65V6MadZzT/rUimoccc2kYA4BfPHqJb105RzjJigKhRq9kEJUBIjgYVuXeL7SAI6eD+Abp5dTwVHOmEHxT50d8WBYJqSOdPj5BjW8gZR8UNqFR2xagx/65XFYaMH+BGWwiYpi4UkBPPLxTp9v1Z+lHc4DWvCQXWmIy6EjITgKowVd5Jjv7N3Hd6y5esigoOwpkJIAmMpZpLJGdiaaC4F0UmAj6bD84GCEwmB/qxMmRilmnwb/mpjAocHh4UEoNAt5NLZB7oy9OJo0PxqkAtePdhiSqunyC1LQUwWMPQaOr6GRre258Ajn4cP7KHcEXhsxpXbj+lT19X2TMNGTLVAcjcalS8gDwsQ2UOMhH4k8FkcrEn5E5ub2sKohxLK2VR77Hl9RUcsrgeRIEiVOT6z+tDbIeLy+vk+kGTCbXxycet6xhl//3f6bJEkdHYhA+mLtDIvoH4ieev5+juoxdk5+pjhALYEdXIpEB5w+NlSKSzqVQ/+H7IO6BLtl3fngGMiqhGJgIwlM6qpyUGFjySdk8m0Zg0ubeD7X9OIDEFajltRQgUJaUKx69tdgaQa0FMADuahZPMFtcEwNPm2hA7ZI5sK4aoE2NvYI+o8hkCIe7CwTv68zS0q9Dk5vpbm/8FXxitSzmMFHpsGj0wyLUheTwD2Y9fVgh1Ae0EPUgD9241ZEnld+v5kgnVZ/8fE0brVh5BK+1oCqKKF72Dk7HwBsssB/pklU1dfChy3S659H5+uelgIb+8WRv1/uGTV9Sdb5wJFlfW6fPCalMhwhSU1j2xKwKbP838GcOwJja4TqO0bjdmXxYTy1EYjFdCWoCEYZhseH/GDL3yJPHnuW6YmT7P1SlIA4768Hke4vOcsX8BE346lLHhDUQAAAAASUVORK5CYII=\", \"icon64URL\":\"data:image/png;base64,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\", \"description\":\"Keep up with friends wherever you go on the web.\",\"author\":\"Facebook\",\"homepageURL\":\"https://www.facebook.com/about/messenger-for-firefox\",\"builtin\":\"true\"}");
--
--pref("social.sidebar.open", true);
--pref("social.sidebar.unload_timeout_ms", 10000);
-+// removed facebook sidebar with Iceweasel.
-
- pref("dom.identity.enabled", false);
-
-diff --git a/browser/base/content/abouthome/aboutHome.css b/browser/base/content/abouthome/aboutHome.css
-index c270318..d4ecde0 100644
---- a/browser/base/content/abouthome/aboutHome.css
-+++ b/browser/base/content/abouthome/aboutHome.css
-@@ -49,15 +49,6 @@ a {
- background-repeat: no-repeat;
- }
-
--#searchForm,
--#snippets {
-- width: 470px;
--}
--
--#searchForm {
-- display: -moz-box;
--}
--
- #searchLogoContainer {
- display: -moz-box;
- -moz-box-align: center;
-@@ -72,8 +63,7 @@ a {
- #searchEngineLogo {
- display: inline-block;
- height: 28px;
-- width: 70px;
-- min-width: 70px;
-+ width: 47px;
- }
-
- #searchText {
-@@ -145,48 +135,6 @@ a {
- transition-duration: 0ms;
- }
-
--#defaultSnippet1,
--#defaultSnippet2,
--#rightsSnippet {
-- display: block;
-- min-height: 38px;
-- background: 30px center no-repeat;
-- padding: 6px 0;
-- -moz-padding-start: 79px;
--}
--
--#rightsSnippet[hidden] {
-- display: none;
--}
--
--#defaultSnippet1:-moz-dir(rtl),
--#defaultSnippet2:-moz-dir(rtl),
--#rightsSnippet:-moz-dir(rtl) {
-- background-position: right 30px center;
--}
--
--#defaultSnippet1 {
-- background-image: url("chrome://browser/content/abouthome/snippet1.png");
--}
--
--#defaultSnippet2 {
-- background-image: url("chrome://browser/content/abouthome/snippet2.png");
--}
--
--#snippets {
-- display: inline-block;
-- text-align: start;
-- margin: 12px 0;
-- color: #3c3c3c;
-- font-size: 75%;
-- /* 12px is the computed font size, 15px the computed line height of the snippets
-- with Segoe UI on a default Windows 7 setup. The 15/12 multiplier approximately
-- converts em from units of font-size to units of line-height. The goal is to
-- preset the height of a three-line snippet to avoid visual moving/flickering as
-- the snippets load. */
-- min-height: calc(15/12 * 3em);
--}
--
- #launcher {
- display: -moz-box;
- -moz-box-align: center;
-@@ -335,26 +283,25 @@ body[narrow] #restorePreviousSession::before {
- width: 32px;
- }
-
--#aboutMozilla {
-+#aboutGNU {
- display: block;
-- position: relative; /* pin wordmark to edge of document, not of viewport */
- -moz-box-ordinal-group: 0;
- opacity: .5;
- transition: opacity 150ms;
- }
-
--#aboutMozilla:hover {
-+#aboutGNU:hover {
- opacity: 1;
- }
-
--#aboutMozilla::before {
-- content: url("chrome://browser/content/abouthome/mozilla.png");
-+#aboutGNU::before {
-+ content: url("chrome://browser/content/abouthome/gnu_headshadow.png");
- display: block;
- position: absolute;
- top: 12px;
- right: 12px;
-- width: 69px;
-- height: 19px;
-+ width: 200px;
-+ height: 110px;
- }
-
- /* [HiDPI]
-@@ -366,26 +313,6 @@ body[narrow] #restorePreviousSession::before {
- background-image: url("chrome://branding/content/about-logo@2x.png");
- }
-
-- #defaultSnippet1,
-- #defaultSnippet2,
-- #rightsSnippet {
-- background-size: 40px;
-- }
--
-- #defaultSnippet1 {
-- background-image: url("chrome://browser/content/abouthome/snippet1@2x.png");
-- }
--
-- #defaultSnippet2 {
-- background-image: url("chrome://browser/content/abouthome/snippet2@2x.png");
-- }
--
-- .launchButton::before,
-- #aboutMozilla::before {
-- transform: scale(.5);
-- transform-origin: 0 0;
-- }
--
- #downloads::before {
- content: url("chrome://browser/content/abouthome/downloads@2x.png");
- }
-@@ -421,9 +348,5 @@ body[narrow] #restorePreviousSession::before {
- body[narrow] #restorePreviousSession::before {
- content: url("chrome://browser/content/abouthome/restore@2x.png");
- }
--
-- #aboutMozilla::before {
-- content: url("chrome://browser/content/abouthome/mozilla@2x.png");
-- }
- }
-
-diff --git a/browser/base/content/abouthome/aboutHome.js b/browser/base/content/abouthome/aboutHome.js
-index 432fcdc..0d81017 100644
---- a/browser/base/content/abouthome/aboutHome.js
-+++ b/browser/base/content/abouthome/aboutHome.js
-@@ -3,152 +3,44 @@
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
- const SEARCH_ENGINES = {
-- "Google": {
-- // This is the "2x" image designed for OS X retina resolution, Windows at 192dpi, etc.;
-- // it will be scaled down as necessary on lower-dpi displays.
-+ "DuckDuckGo HTML": {
- image: "data:image/png;base64," +
-- "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"
- }
- };
-
--// The process of adding a new default snippet involves:
--// * add a new entity to aboutHome.dtd
--// * add a <span/> for it in aboutHome.xhtml
--// * add an entry here in the proper ordering (based on spans)
--// The <a/> part of the snippet will be linked to the corresponding url.
--const DEFAULT_SNIPPETS_URLS = [
-- "https://www.mozilla.org/firefox/features/?utm_source=snippet&utm_medium=snippet&utm_campaign=default+feature+snippet"
--, "https://addons.mozilla.org/firefox/?utm_source=snippet&utm_medium=snippet&utm_campaign=addons"
--];
--
--const SNIPPETS_UPDATE_INTERVAL_MS = 86400000; // 1 Day.
--
--// IndexedDB storage constants.
--const DATABASE_NAME = "abouthome";
--const DATABASE_VERSION = 1;
--const SNIPPETS_OBJECTSTORE_NAME = "snippets";
--
- // This global tracks if the page has been set up before, to prevent double inits
- let gInitialized = false;
- let gObserver = new MutationObserver(function (mutations) {
-@@ -156,7 +48,6 @@ let gObserver = new MutationObserver(function (mutations) {
- if (mutation.attributeName == "searchEngineName") {
- setupSearchEngine();
- if (!gInitialized) {
-- ensureSnippetsMapThen(loadSnippets);
- gInitialized = true;
- }
- return;
-@@ -170,10 +61,6 @@ window.addEventListener("pageshow", function () {
- window.gObserver.observe(document.documentElement, { attributes: true });
- fitToWidth();
- window.addEventListener("resize", fitToWidth);
--
-- // Ask chrome to update snippets.
-- var event = new CustomEvent("AboutHomeLoad", {bubbles:true});
-- document.dispatchEvent(event);
- });
-
- window.addEventListener("pagehide", function() {
-@@ -181,117 +68,6 @@ window.addEventListener("pagehide", function() {
- window.removeEventListener("resize", fitToWidth);
- });
-
--// This object has the same interface as Map and is used to store and retrieve
--// the snippets data. It is lazily initialized by ensureSnippetsMapThen(), so
--// be sure its callback returned before trying to use it.
--let gSnippetsMap;
--let gSnippetsMapCallbacks = [];
--
--/**
-- * Ensure the snippets map is properly initialized.
-- *
-- * @param aCallback
-- * Invoked once the map has been initialized, gets the map as argument.
-- * @note Snippets should never directly manage the underlying storage, since
-- * it may change inadvertently.
-- */
--function ensureSnippetsMapThen(aCallback)
--{
-- if (gSnippetsMap) {
-- aCallback(gSnippetsMap);
-- return;
-- }
--
-- // Handle multiple requests during the async initialization.
-- gSnippetsMapCallbacks.push(aCallback);
-- if (gSnippetsMapCallbacks.length > 1) {
-- // We are already updating, the callbacks will be invoked when done.
-- return;
-- }
--
-- let invokeCallbacks = function () {
-- if (!gSnippetsMap) {
-- gSnippetsMap = Object.freeze(new Map());
-- }
--
-- for (let callback of gSnippetsMapCallbacks) {
-- callback(gSnippetsMap);
-- }
-- gSnippetsMapCallbacks.length = 0;
-- }
--
-- let openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);
--
-- openRequest.onerror = function (event) {
-- // Try to delete the old database so that we can start this process over
-- // next time.
-- indexedDB.deleteDatabase(DATABASE_NAME);
-- invokeCallbacks();
-- };
--
-- openRequest.onupgradeneeded = function (event) {
-- let db = event.target.result;
-- if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {
-- db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);
-- }
-- }
--
-- openRequest.onsuccess = function (event) {
-- let db = event.target.result;
--
-- db.onerror = function (event) {
-- invokeCallbacks();
-- }
--
-- db.onversionchange = function (event) {
-- event.target.close();
-- invokeCallbacks();
-- }
--
-- let cache = new Map();
-- let cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)
-- .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();
-- cursorRequest.onerror = function (event) {
-- invokeCallbacks();
-- }
--
-- cursorRequest.onsuccess = function(event) {
-- let cursor = event.target.result;
--
-- // Populate the cache from the persistent storage.
-- if (cursor) {
-- cache.set(cursor.key, cursor.value);
-- cursor.continue();
-- return;
-- }
--
-- // The cache has been filled up, create the snippets map.
-- gSnippetsMap = Object.freeze({
-- get: function (aKey) cache.get(aKey),
-- set: function (aKey, aValue) {
-- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
-- .objectStore(SNIPPETS_OBJECTSTORE_NAME).put(aValue, aKey);
-- return cache.set(aKey, aValue);
-- },
-- has: function (aKey) cache.has(aKey),
-- delete: function (aKey) {
-- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
-- .objectStore(SNIPPETS_OBJECTSTORE_NAME).delete(aKey);
-- return cache.delete(aKey);
-- },
-- clear: function () {
-- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
-- .objectStore(SNIPPETS_OBJECTSTORE_NAME).clear();
-- return cache.clear();
-- },
-- get size() cache.size
-- });
--
-- setTimeout(invokeCallbacks, 0);
-- }
-- }
--}
--
- function onSearchSubmit(aEvent)
- {
- let searchTerms = document.getElementById("searchText").value;
-@@ -341,156 +117,6 @@ function setupSearchEngine()
-
- }
-
--/**
-- * Inform the test harness that we're done loading the page.
-- */
--function loadSucceeded()
--{
-- var event = new CustomEvent("AboutHomeLoadSnippetsSucceeded", {bubbles:true});
-- document.dispatchEvent(event);
--}
--
--/**
-- * Update the local snippets from the remote storage, then show them through
-- * showSnippets.
-- */
--function loadSnippets()
--{
-- if (!gSnippetsMap)
-- throw new Error("Snippets map has not properly been initialized");
--
-- // Allow tests to modify the snippets map before using it.
-- var event = new CustomEvent("AboutHomeLoadSnippets", {bubbles:true});
-- document.dispatchEvent(event);
--
-- // Check cached snippets version.
-- let cachedVersion = gSnippetsMap.get("snippets-cached-version") || 0;
-- let currentVersion = document.documentElement.getAttribute("snippetsVersion");
-- if (cachedVersion < currentVersion) {
-- // The cached snippets are old and unsupported, restart from scratch.
-- gSnippetsMap.clear();
-- }
--
-- // Check last snippets update.
-- let lastUpdate = gSnippetsMap.get("snippets-last-update");
-- let updateURL = document.documentElement.getAttribute("snippetsURL");
-- let shouldUpdate = !lastUpdate ||
-- Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;
-- if (updateURL && shouldUpdate) {
-- // Try to update from network.
-- let xhr = new XMLHttpRequest();
-- try {
-- xhr.open("GET", updateURL, true);
-- } catch (ex) {
-- showSnippets();
-- loadSucceeded();
-- return;
-- }
-- // Even if fetching should fail we don't want to spam the server, thus
-- // set the last update time regardless its results. Will retry tomorrow.
-- gSnippetsMap.set("snippets-last-update", Date.now());
-- xhr.onerror = function (event) {
-- showSnippets();
-- };
-- xhr.onload = function (event)
-- {
-- if (xhr.status == 200) {
-- gSnippetsMap.set("snippets", xhr.responseText);
-- gSnippetsMap.set("snippets-cached-version", currentVersion);
-- }
-- showSnippets();
-- loadSucceeded();
-- };
-- xhr.send(null);
-- } else {
-- showSnippets();
-- loadSucceeded();
-- }
--}
--
--/**
-- * Shows locally cached remote snippets, or default ones when not available.
-- *
-- * @note: snippets should never invoke showSnippets(), or they may cause
-- * a "too much recursion" exception.
-- */
--let _snippetsShown = false;
--function showSnippets()
--{
-- let snippetsElt = document.getElementById("snippets");
--
-- // Show about:rights notification, if needed.
-- let showRights = document.documentElement.getAttribute("showKnowYourRights");
-- if (showRights) {
-- let rightsElt = document.getElementById("rightsSnippet");
-- let anchor = rightsElt.getElementsByTagName("a")[0];
-- anchor.href = "about:rights";
-- snippetsElt.appendChild(rightsElt);
-- rightsElt.removeAttribute("hidden");
-- return;
-- }
--
-- if (!gSnippetsMap)
-- throw new Error("Snippets map has not properly been initialized");
-- if (_snippetsShown) {
-- // There's something wrong with the remote snippets, just in case fall back
-- // to the default snippets.
-- showDefaultSnippets();
-- throw new Error("showSnippets should never be invoked multiple times");
-- }
-- _snippetsShown = true;
--
-- let snippets = gSnippetsMap.get("snippets");
-- // If there are remotely fetched snippets, try to to show them.
-- if (snippets) {
-- // Injecting snippets can throw if they're invalid XML.
-- try {
-- snippetsElt.innerHTML = snippets;
-- // Scripts injected by innerHTML are inactive, so we have to relocate them
-- // through DOM manipulation to activate their contents.
-- Array.forEach(snippetsElt.getElementsByTagName("script"), function(elt) {
-- let relocatedScript = document.createElement("script");
-- relocatedScript.type = "text/javascript;version=1.8";
-- relocatedScript.text = elt.text;
-- elt.parentNode.replaceChild(relocatedScript, elt);
-- });
-- return;
-- } catch (ex) {
-- // Bad content, continue to show default snippets.
-- }
-- }
--
-- showDefaultSnippets();
--}
--
--/**
-- * Clear snippets element contents and show default snippets.
-- */
--function showDefaultSnippets()
--{
-- // Clear eventual contents...
-- let snippetsElt = document.getElementById("snippets");
-- snippetsElt.innerHTML = "";
--
-- // ...then show default snippets.
-- let defaultSnippetsElt = document.getElementById("defaultSnippets");
-- let entries = defaultSnippetsElt.querySelectorAll("span");
-- // Choose a random snippet. Assume there is always at least one.
-- let randIndex = Math.floor(Math.random() * entries.length);
-- let entry = entries[randIndex];
-- // Inject url in the eventual link.
-- if (DEFAULT_SNIPPETS_URLS[randIndex]) {
-- let links = entry.getElementsByTagName("a");
-- // Default snippets can have only one link, otherwise something is messed
-- // up in the translation.
-- if (links.length == 1) {
-- links[0].href = DEFAULT_SNIPPETS_URLS[randIndex];
-- }
-- }
-- // Move the default snippet to the snippets element.
-- snippetsElt.appendChild(entry);
--}
--
- function fitToWidth() {
- if (window.scrollMaxX) {
- document.body.setAttribute("narrow", "true");
-diff --git a/browser/base/content/abouthome/aboutHome.xhtml b/browser/base/content/abouthome/aboutHome.xhtml
-index 1d03d38..4f9b6b2 100644
---- a/browser/base/content/abouthome/aboutHome.xhtml
-+++ b/browser/base/content/abouthome/aboutHome.xhtml
-@@ -43,15 +43,6 @@
- <input id="searchSubmit" type="submit" value="&abouthome.searchEngineButton.label;"/>
- </form>
- </div>
--
-- <div id="snippetContainer">
-- <div id="defaultSnippets" hidden="true">
-- <span id="defaultSnippet1">&abouthome.defaultSnippet1.v1;</span>
-- <span id="defaultSnippet2">&abouthome.defaultSnippet2.v1;</span>
-- </div>
-- <span id="rightsSnippet" hidden="true">&abouthome.rightsSnippet;</span>
-- <div id="snippets"/>
-- </div>
- </div>
- <div class="spacer"/>
-
-@@ -66,7 +57,6 @@
- <div id="restorePreviousSessionSeparator"/>
- <button class="launchButton" id="restorePreviousSession">&historyRestoreLastSession.label;</button>
- </div>
--
-- <a id="aboutMozilla" href="https://www.mozilla.org/about/?utm_source=about-home&amp;utm_medium=Referral"/>
-+ <a id="aboutGNU" href="http://gnu.org"></a>
- </body>
- </html>
-diff --git a/browser/base/content/content.js b/browser/base/content/content.js
-index 9428613..ba010f3 100644
---- a/browser/base/content/content.js
-+++ b/browser/base/content/content.js
-@@ -80,14 +80,8 @@ let AboutHomeListener = {
- if (aData.showRestoreLastSession && !PrivateBrowsingUtils.isWindowPrivate(content))
- doc.getElementById("launcher").setAttribute("session", "true");
-
-- // Inject search engine and snippets URL.
-+ // Inject search engine.
- let docElt = doc.documentElement;
-- // set the following attributes BEFORE searchEngineName, which triggers to
-- // show the snippets when it's set.
-- docElt.setAttribute("snippetsURL", aData.snippetsURL);
-- if (aData.showKnowYourRights)
-- docElt.setAttribute("showKnowYourRights", "true");
-- docElt.setAttribute("snippetsVersion", aData.snippetsVersion);
- docElt.setAttribute("searchEngineName", Services.search.defaultEngine.name);
- },
-
-diff --git a/browser/base/jar.mn b/browser/base/jar.mn
-index f2a820c..9478039 100644
---- a/browser/base/jar.mn
-+++ b/browser/base/jar.mn
-@@ -33,7 +33,7 @@ browser.jar:
- content/browser/abouthome/settings.png (content/abouthome/settings.png)
- content/browser/abouthome/restore.png (content/abouthome/restore.png)
- content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png)
-- content/browser/abouthome/mozilla.png (content/abouthome/mozilla.png)
-+ content/browser/abouthome/gnu_headshadow.png (content/abouthome/gnu_headshadow.png)
- content/browser/abouthome/snippet1@2x.png (content/abouthome/snippet1@2x.png)
- content/browser/abouthome/snippet2@2x.png (content/abouthome/snippet2@2x.png)
- content/browser/abouthome/downloads@2x.png (content/abouthome/downloads@2x.png)
-@@ -45,7 +45,6 @@ browser.jar:
- content/browser/abouthome/settings@2x.png (content/abouthome/settings@2x.png)
- content/browser/abouthome/restore@2x.png (content/abouthome/restore@2x.png)
- content/browser/abouthome/restore-large@2x.png (content/abouthome/restore-large@2x.png)
-- content/browser/abouthome/mozilla@2x.png (content/abouthome/mozilla@2x.png)
- #ifdef MOZ_SERVICES_HEALTHREPORT
- content/browser/abouthealthreport/abouthealth.xhtml (content/abouthealthreport/abouthealth.xhtml)
- content/browser/abouthealthreport/abouthealth.js (content/abouthealthreport/abouthealth.js)
-diff --git a/browser/locales/en-US/chrome/browser/aboutHome.dtd b/browser/locales/en-US/chrome/browser/aboutHome.dtd
-index e84341f..5476d32 100644
---- a/browser/locales/en-US/chrome/browser/aboutHome.dtd
-+++ b/browser/locales/en-US/chrome/browser/aboutHome.dtd
-@@ -13,17 +13,6 @@
-
- <!ENTITY abouthome.searchEngineButton.label "Search">
-
--<!-- LOCALIZATION NOTE (abouthome.defaultSnippet1.v1):
-- text in <a/> will be linked to the Firefox features page on mozilla.com
---->
--<!ENTITY abouthome.defaultSnippet1.v1 "Thanks for choosing Firefox! To get the most out of your browser, learn more about the <a>latest features</a>.">
--<!-- LOCALIZATION NOTE (abouthome.defaultSnippet2.v1):
-- text in <a/> will be linked to the featured add-ons on addons.mozilla.org
---->
--<!ENTITY abouthome.defaultSnippet2.v1 "It's easy to customize your Firefox exactly the way you want it. <a>Choose from thousands of add-ons</a>.">
--<!-- LOCALIZATION NOTE (abouthome.rightsSnippet): text in <a/> will be linked to about:rights -->
--<!ENTITY abouthome.rightsSnippet "&brandFullName; is free and open source software from the non-profit Mozilla Foundation. <a>Know your rights…</a>">
--
- <!ENTITY abouthome.bookmarksButton.label "Bookmarks">
- <!ENTITY abouthome.historyButton.label "History">
- <!ENTITY abouthome.settingsButton.label "Settings">
-diff --git a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties
-index 087cc50..5654eb9 100644
---- a/browser/locales/en-US/chrome/browser-region/region.properties
-+++ b/browser/locales/en-US/chrome/browser-region/region.properties
-@@ -3,17 +3,12 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- # Default search engine
--browser.search.defaultenginename=Google
-+browser.search.defaultenginename=DuckDuckGo HTML
-
- # Search engine order (order displayed in the search bar dropdown)s
--browser.search.order.1=Google
--browser.search.order.2=Yahoo
--browser.search.order.3=Bing
--
--# This is the default set of web based feed handlers shown in the reader
--# selection UI
--browser.contentHandlers.types.0.title=My Yahoo!
--browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
-+browser.search.order.1=DuckDuckGo HTML
-+browser.search.order.2=DuckDuckGo Lite
-+browser.search.order.3=Seeks Search
-
- # increment this number when anything gets changed in the list below. This will
- # cause Firefox to re-read these prefs and inject any new handlers into the
-@@ -22,20 +17,10 @@ browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
- # don't make any spelling errors here.
- gecko.handlerService.defaultHandlersVersion=4
-
--# The default set of protocol handlers for webcal:
--gecko.handlerService.schemes.webcal.0.name=30 Boxes
--gecko.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s
--
--# The default set of protocol handlers for mailto:
--gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
--gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
--gecko.handlerService.schemes.mailto.1.name=Gmail
--gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
--
- # The default set of protocol handlers for irc:
--gecko.handlerService.schemes.irc.0.name=Mibbit
--gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
-+gecko.handlerService.schemes.irc.0.name=Freenode Web IRC
-+gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net
-
- # The default set of protocol handlers for ircs:
--gecko.handlerService.schemes.ircs.0.name=Mibbit
--gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
-+gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC
-+gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net
-diff --git a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in
-index e925c1e..5101035 100644
---- a/browser/locales/generic/profile/bookmarks.html.in
-+++ b/browser/locales/generic/profile/bookmarks.html.in
-@@ -15,13 +15,20 @@
- <DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">@bookmarks_toolbarfolder@</H3>
- <DD>@bookmarks_toolbarfolder_description@
- <DL><p>
-- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/central/" ID="rdf:#$GvPhC3">@getting_started@</A>
-+ <DT><A HREF="https://parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A>
- </DL><p>
-- <DT><H3 ID="rdf:#$ZvPhC3">@firefox_heading@</H3>
-+ <DT><H3 ID="rdf:#$YvPhC3">Parabola GNU/Linux-libre</H3>
- <DL><p>
-- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/help/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$22iCK1">@firefox_help@</A>
-- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/customize/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$32iCK1">@firefox_customize@</A>
-- <DT><A HREF="https://www.mozilla.org/@AB_CD@/contribute/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$42iCK1">@firefox_community@</A>
-- <DT><A HREF="https://www.mozilla.org/@AB_CD@/about/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$52iCK1">@firefox_about@</A>
-+ <DT><A HREF="https://parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A>
-+ <DT><A HREF="https://parabolagnulinux.org/packages/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Packages</A>
-+ <DT><A HREF="https://wiki.parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Wiki</A>
-+ <DT><A HREF="https://labs.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Labs</A>
-+ </DL><p>
-+ <DT><H3 ID="rdf:#$ZvPhC3">Free Software Foundation</H3>
-+ <DL><p>
-+ <DT><A HREF="http://www.fsf.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A>
-+ <DT><A HREF="http://libreplanet.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC">LibrePlanet</A>
-+ <DT><A HREF="http://www.gnu.org/software/gnuzilla/addons.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC">Free addons</A>
-+ <DT><A HREF="http://www.h-node.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC">h-node</A>
- </DL><p>
- </DL><p>
-diff --git a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
-index 98c443d..0173762 100644
---- a/browser/modules/AboutHome.jsm
-+++ b/browser/modules/AboutHome.jsm
-@@ -8,7 +8,7 @@ let Cc = Components.classes;
- let Ci = Components.interfaces;
- let Cu = Components.utils;
-
--this.EXPORTED_SYMBOLS = [ "AboutHomeUtils", "AboutHome" ];
-+this.EXPORTED_SYMBOLS = [ "AboutHome" ];
-
- Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
- Components.utils.import("resource://gre/modules/Services.jsm");
-@@ -16,66 +16,6 @@ Components.utils.import("resource://gre/modules/Services.jsm");
- XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils",
- "resource://gre/modules/PrivateBrowsingUtils.jsm");
-
--// Url to fetch snippets, in the urlFormatter service format.
--const SNIPPETS_URL_PREF = "browser.aboutHomeSnippets.updateUrl";
--
--// Should be bumped up if the snippets content format changes.
--const STARTPAGE_VERSION = 4;
--
--this.AboutHomeUtils = {
-- get snippetsVersion() STARTPAGE_VERSION,
--
-- /*
-- * showKnowYourRights - Determines if the user should be shown the
-- * about:rights notification. The notification should *not* be shown if
-- * we've already shown the current version, or if the override pref says to
-- * never show it. The notification *should* be shown if it's never been seen
-- * before, if a newer version is available, or if the override pref says to
-- * always show it.
-- */
-- get showKnowYourRights() {
-- // Look for an unconditional override pref. If set, do what it says.
-- // (true --> never show, false --> always show)
-- try {
-- return !Services.prefs.getBoolPref("browser.rights.override");
-- } catch (e) { }
-- // Ditto, for the legacy EULA pref.
-- try {
-- return !Services.prefs.getBoolPref("browser.EULA.override");
-- } catch (e) { }
--
--#ifndef MOZILLA_OFFICIAL
-- // Non-official builds shouldn't show the notification.
-- return false;
--#endif
--
-- // Look to see if the user has seen the current version or not.
-- var currentVersion = Services.prefs.getIntPref("browser.rights.version");
-- try {
-- return !Services.prefs.getBoolPref("browser.rights." + currentVersion + ".shown");
-- } catch (e) { }
--
-- // Legacy: If the user accepted a EULA, we won't annoy them with the
-- // equivalent about:rights page until the version changes.
-- try {
-- return !Services.prefs.getBoolPref("browser.EULA." + currentVersion + ".accepted");
-- } catch (e) { }
--
-- // We haven't shown the notification before, so do so now.
-- return true;
-- }
--};
--
--/**
-- * Returns the URL to fetch snippets from, in the urlFormatter service format.
-- */
--XPCOMUtils.defineLazyGetter(AboutHomeUtils, "snippetsURL", function() {
-- let updateURL = Services.prefs
-- .getCharPref(SNIPPETS_URL_PREF)
-- .replace("%STARTPAGE_VERSION%", STARTPAGE_VERSION);
-- return Services.urlFormatter.formatURL(updateURL);
--});
--
- /**
- * This code provides services to the about:home page. Whenever
- * about:home needs to do something chrome-privileged, it sends a
-@@ -185,17 +125,8 @@ let AboutHome = {
- ss.promiseInitialized.then(function() {
- let data = {
- showRestoreLastSession: ss.canRestoreLastSession,
-- snippetsURL: AboutHomeUtils.snippetsURL,
-- showKnowYourRights: AboutHomeUtils.showKnowYourRights,
-- snippetsVersion: AboutHomeUtils.snippetsVersion
- };
-
-- if (AboutHomeUtils.showKnowYourRights) {
-- // Set pref to indicate we've shown the notification.
-- let currentVersion = Services.prefs.getIntPref("browser.rights.version");
-- Services.prefs.setBoolPref("browser.rights." + currentVersion + ".shown", true);
-- }
--
- if (target) {
- target.messageManager.sendAsyncMessage("AboutHome:Update", data);
- } else {