diff options
author | Nicolás Reynolds <fauno@endefensadelsl.org> | 2014-01-30 03:49:22 +0000 |
---|---|---|
committer | Nicolás Reynolds <fauno@endefensadelsl.org> | 2014-01-30 03:49:22 +0000 |
commit | abecd94e38c95522f241c335c76aa3150e43eedd (patch) | |
tree | e1aa639a866772861431c2ab8ced2ee79100ae9d /libre | |
parent | 0a521de4508e14363c59922ab2744ab699e30288 (diff) |
Thu Jan 30 03:47:11 UTC 2014
Diffstat (limited to 'libre')
-rw-r--r-- | libre/angband-libre/libre.patch | 814 | ||||
-rw-r--r-- | libre/doublecmd-libre/PKGBUILD | 79 | ||||
-rw-r--r-- | libre/gummiboot/PKGBUILD | 51 | ||||
-rw-r--r-- | libre/gummiboot/splash-parabola.bmp | bin | 470410 -> 0 bytes | |||
-rw-r--r-- | libre/iceweasel-libre/PKGBUILD | 240 | ||||
-rw-r--r-- | libre/iceweasel-libre/libre.patch | 1220 |
6 files changed, 0 insertions, 2404 deletions
diff --git a/libre/angband-libre/libre.patch b/libre/angband-libre/libre.patch deleted file mode 100644 index a044bc6fe..000000000 --- a/libre/angband-libre/libre.patch +++ /dev/null @@ -1,814 +0,0 @@ -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/doublecmd-libre/PKGBUILD b/libre/doublecmd-libre/PKGBUILD deleted file mode 100644 index c08273344..000000000 --- a/libre/doublecmd-libre/PKGBUILD +++ /dev/null @@ -1,79 +0,0 @@ -# vim:set ft=sh: -# $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.8 -_helpver=0.5.5 -pkgrel=1 -url="http://doublecmd.sourceforge.net/" -arch=('i686' 'x86_64') -license=('GPL') -install="$_pkgbase.install" -provides=("$_pkgbase") -makedepends=('lazarus' 'qt4pas' 'gtk2') -optdepends=( - 'lua51: scripting' - 'p7zip: support for 7zip archives' - 'unar: support for rar archives' -) -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" -) - -build() { - cp -a $_pkgbase-$pkgver $_pkgbase-gtk - cp -a $_pkgbase-$pkgver $_pkgbase-qt - - cd "$srcdir/$_pkgbase-gtk" - if [ "$CARCH" = "i686" ]; then - sed -e '/fPIC/d' -i "$srcdir/$_pkgbase-gtk/components/doublecmd/doublecmd_common.lpk" - fi - sed -e 's/\(export\ lazbuild=\).*/\1"$(which\ lazbuild) --lazarusdir=\/usr\/lib\/lazarus"/' -i build.sh - ./build.sh beta gtk2 - - cd "$srcdir/$_pkgbase-qt" - # dont use fPIC on i686 - if [ "$CARCH" = "i686" ]; then - sed -e '/fPIC/d' -i "$srcdir/$_pkgbase-qt/components/doublecmd/doublecmd_common.lpk" - fi - sed -e 's/\(export\ lazbuild=\).*/\1"$(which\ lazbuild) --lazarusdir=\/usr\/lib\/lazarus"/' -i build.sh - ./build.sh beta qt -} - -package_doublecmd-libre-gtk2() { - pkgdesc="twin-panel (commander-style) file manager (GTK), with unar recommendation" - depends=('gtk2') - conflicts=('doublecmd-qt' 'doublecmd-gtk2' 'doublecmd-gtk2-libre') - replaces=('doublecmd-gtk2' 'doublecmd-gtk2-libre') - provides=("doublecmd-gtk2=${pkgver}") - cd "$srcdir/$_pkgbase-gtk" - sed -e 's/LIB_SUFFIX=.*/LIB_SUFFIX=/g' -i ./install/linux/install.sh - ./install/linux/install.sh --install-prefix="$pkgdir" - - # install doc - cd "$srcdir/$_pkgbase-help-$_helpver" - cp -a * "$pkgdir/usr/share/$_pkgbase/doc/" -} - -package_doublecmd-libre-qt() { - pkgdesc="twin-panel (commander-style) file manager (QT), with unar recommendation" - depends=('qt4pas') - conflicts=('doublecmd-gtk2' 'doublecmd-qt' 'doublecmd-qt-libre') - replaces=('doublecmd-qt' 'doublecmd-qt-libre') - provides=("doublecmd-qt=${pkgver}") - cd "$srcdir/$_pkgbase-qt" - sed -e 's/LIB_SUFFIX=.*/LIB_SUFFIX=/g' -i ./install/linux/install.sh - ./install/linux/install.sh --install-prefix="$pkgdir" - - # install doc - 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 deleted file mode 100644 index bd697b3f6..000000000 --- a/libre/gummiboot/PKGBUILD +++ /dev/null @@ -1,51 +0,0 @@ -# $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)> -# Contributor: Mantas Mikulėnas <grawity@gmail.com> -# Maintainer (Parabola): André Silva <emulatorman@parabola.nu> - -pkgname="gummiboot" -pkgver="41" -pkgrel="1" -pkgdesc="Simple text-mode UEFI Boot Manager (Parabola rebranded)" -url="http://freedesktop.org/wiki/Software/gummiboot" -arch=('x86_64' 'i686' 'mips64el') -license=('LGPL2.1') -makedepends=('gnu-efi-libs' 'docbook-xsl' 'git') -depends=('util-linux') -conflicts=('gummiboot-efi') -provides=('gummiboot-efi') -replaces=('gummiboot-efi') -options=('!strip' '!makeflags') -source=("git://anongit.freedesktop.org/${pkgname}#commit=ba731cee" - 'loader.conf' - 'parabola.conf' - 'splash-parabola.bmp') -install="gummiboot.install" -md5sums=('SKIP' - '3d700d13aec5ab1b78a921eaf22e5bfa' - '36ee74767ac8734dede1cbd0f4f275d7' - 'c146ea0e16fff867164e113c48c91fff') - -build() { - cd ${srcdir}/${pkgname} - - ./autogen.sh - ./configure --sysconfdir=/etc --with-efi-ldsdir=/usr/lib --libexecdir=/usr/lib --libdir=/usr/lib - - make -} - -package() { - ## Install gummiboot example configuration files (can go away with systemd's kernel-install) - 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 -} diff --git a/libre/gummiboot/splash-parabola.bmp b/libre/gummiboot/splash-parabola.bmp Binary files differdeleted file mode 100644 index 11ceeff28..000000000 --- a/libre/gummiboot/splash-parabola.bmp +++ /dev/null diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD deleted file mode 100644 index ad6233f39..000000000 --- a/libre/iceweasel-libre/PKGBUILD +++ /dev/null @@ -1,240 +0,0 @@ -# Maintainer (Parabola): André Silva <emulatorman@parabola.nu> -# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> -# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org> -# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net> -# Contributor: Figue <ffigue at gmail> -# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar> -# Contributor (Parabola): vando <facundo@esdebian.org> -# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com> -# Thank you very much to the older contributors: -# Contributor: evr <evanroman at gmail> -# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> - -_pgo=true - -# We're getting this from Debian Experimental -_debname=iceweasel -_debver=26.0 -_debrel=deb1 -_debrepo=http://ftp.debian.org/debian/pool/main/ -debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } - -_pkgname=iceweasel -pkgname=iceweasel-libre -epoch=1 -pkgver=$_debver.$_debrel -pkgrel=2 - -pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox." -arch=(i686 x86_64 mips64el) -license=(MPL GPL LGPL) -depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification) -makedepends=(autoconf2.13 diffutils gstreamer0.10-base imagemagick imake inetutils libidl2 libpulse librsvg libxslt mesa pkg-config python2 quilt unzip zip) -[ "$CARCH" != "mips64el" ] && makedepends+=('yasm') -options=(!emptydirs !makeflags) -if $_pgo; then - makedepends+=(xorg-server-xvfb) - options+=(!ccache) -fi -optdepends=('networkmanager: Location detection via available WiFi networks' - 'gstreamer0.10-base-plugins: vorbis decoding, ogg demuxing' - 'gstreamer0.10-good-plugins: webm and mp4 demuxing' - 'gstreamer0.10-bad-libre-plugins: aac, vp8 and opus decoding' - 'gstreamer0.10-ugly-plugins: h.264 and mp3 decoding' - 'gstreamer0.10-ffmpeg: more decoders' - 'libpulse: PulseAudio audio driver') -url="http://packages.debian.org/experimental/${_pkgname}" -install=iceweasel.install -replaces=('firefox') -conflicts=('firefox') -provides=('firefox') -source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2" - "$_debrepo/`debfile $_debname`_$_debver-${_debrel#deb}.debian.tar.gz" - mozconfig - mozconfig.pgo - libre.patch - gnu_headshadow.png - iceweasel.desktop - iceweasel-install-dir.patch - vendor.js - iceweasel-20.0.1-fixed-loading-icon.png - Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch - Fixup-Reset-Firefox-after-bad-merge.patch) -md5sums=('219cf21e0642e8a364365286f23d0624' - '2001d0477bcefd0eeaab584402133691' - '023120a970670dc85cea19393f0b94b6' - 'df08eaa1ac3bc6c2356be4fbf8ec8932' - 'fea121a94737ec8641b39e7120a048d3' - 'b03a979a78484503ba8dddad4f2c96d1' - '7b9e5996dd9fe0b186a43a297db1c6b5' - '6620e724ec9a1be74e65089d81d802f7' - '816013881cfc9a1f4f0ede72b014f8b3' - '6e335a517c68488941340ee1c23f97b0' - 'dbf1c021e5f7ac323197b219bf213c50' - '8e165ef85ddd72491f0b48f8954afca6') - -prepare() { - export DEBIAN_BUILD="mozilla-release" - - export QUILT_PATCHES=debian/patches - export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index' - export QUILT_DIFF_ARGS='--no-timestamps' - - mv debian "$srcdir/$DEBIAN_BUILD" - cd "$srcdir/$DEBIAN_BUILD" - - # Doesn't apply and seems unimportant - rm -v debian/patches/l10n/Place-google-and-gmail-before-yandex.patch || true - - # Doesn't works in some parts due it has patches for others locales languages, source code hasn't it - rm -v debian/patches/debian-hacks/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch || true - - # It needs to be patched after Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch - rm -v debian/patches/debian-hacks/Fixup-Reset-Firefox-after-bad-merge.patch || true - - quilt push -av - - install -m644 "$srcdir/gnu_headshadow.png" browser/base/content/abouthome # Put gnu_headshadow.png on the source code - - patch -Np1 -i "$srcdir/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch" # Adding fixed Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch - patch -Np1 -i "$srcdir/Fixup-Reset-Firefox-after-bad-merge.patch" - patch -Np1 -i "$srcdir/iceweasel-install-dir.patch" # install to /usr/lib/$_pkgname - - # Patch and remove anything that's left - patch -Np1 -i "$srcdir/libre.patch" - sed -i 's|Adobe Flash|SWF Player|g; - ' browser/base/content/pageinfo/permissions.js \ - browser/base/content/browser-plugins.js - sed -i '\|URL of the GeoLocation backend|d; - \|geo[.]wifi[.]uri|d; - ' browser/app/profile/firefox.js \ - browser/metro/profile/metro.js - rm -v browser/base/content/abouthome/snippet*.png || true - sed -i "\|abouthome/snippet|d" browser/base/jar.mn - - # Replace common URLs - sed -i '\|extensions[.]getAddons[.]get[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - \|extensions[.]getAddons[.]search[.]browseURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - \|extensions[.]getAddons[.]search[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - \|extensions[.]webservice[.]discoverURL| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - \|browser[.]search[.]searchEnginesURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - ' browser/app/profile/firefox.js - - cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch - - if $_pgo; then - cat "$srcdir/mozconfig.pgo" >> .mozconfig - fi - - # From js on abslibre-mips64el.git - if [ "$CARCH" = "mips64el" ]; then - msg "Force disabling JIT." - sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \ - js/src/assembler/wtf/Platform.h - sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.{in,ref} - - echo "ac_add_options --disable-methodjit" >> .mozconfig - echo "ac_add_options --disable-tracejit" >> .mozconfig - fi - - # This is a bug, we should fix it - if [ "$CARCH" = "mips64el" ]; then - # Fix MIPS N32 support. - sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \ - js/src/assembler/wtf/Platform.h - # Disable JIT. - sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \ - js/src/assembler/wtf/Platform.h - sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.in - echo 'ac_add_options --disable-methodjit' >> .mozconfig - echo 'ac_add_options --disable-tracejit' >> .mozconfig - echo 'ac_add_options --disable-jemalloc' >> .mozconfig - fi - - # Fix PRE_RELEASE_SUFFIX - sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ - browser/base/Makefile.in - - mkdir "$srcdir/path" - - # WebRTC build tries to execute "python" and expects Python 2 - ln -s /usr/bin/python2 "$srcdir/path/python" - - # Use gold, as Mozilla can use some of its features, such as safe ICF - #ln -s /usr/bin/ld.gold "$srcdir/path/ld" - - # configure script misdetects the preprocessor without an optimization level - # https://bugs.archlinux.org/task/34644 - sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure - - # Fix tab loading icon (flickers with libpng 1.6) - # https://bugzilla.mozilla.org/show_bug.cgi?id=841734 - cp "$srcdir/iceweasel-20.0.1-fixed-loading-icon.png" \ - browser/themes/linux/tabbrowser/loading.png -} - -build() { - export DEBIAN_BUILD="mozilla-release" - - cd "$srcdir/$DEBIAN_BUILD" - - export PATH="$srcdir/path:$PATH" - export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname" - export PYTHON="/usr/bin/python2" - - if [[ $CARCH == i686 ]]; then - # Work around memory address space exhaustion during linking on i686 - LDFLAGS+=' -Wl,--no-keep-memory' - fi - - if $_pgo; then - # Set up PGO - export DISPLAY=:99 - Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY & - - if ! make -f client.mk build MOZ_PGO=1; then - kill $! - return 1 - fi - - kill $! || true - else - make -f client.mk build - fi -} - -package() { - export DEBIAN_BUILD="mozilla-release" - - cd "$srcdir/$DEBIAN_BUILD" - make -f client.mk DESTDIR="$pkgdir" install - - install -Dm644 ../vendor.js "$pkgdir/usr/lib/$_pkgname/browser/defaults/preferences/vendor.js" - - # I don't even know why we're hitting the objdir, and ConnOS didn't - _brandingdir=debian/branding - brandingdir=moz-objdir/$_brandingdir - icondir="$pkgdir/usr/share/icons/hicolor" - for i in 16x16 32x32 48x48 64x64; do - install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png" - done - install -Dm644 "$brandingdir/mozicon128.png" "$icondir/128x128/apps/$_pkgname.png" - install -Dm644 "$_brandingdir/iceweasel_icon.svg" "$icondir/scalable/apps/$_pkgname.svg" - - install -d "$pkgdir/usr/share/applications" - install -m644 "$srcdir/iceweasel.desktop" "$pkgdir/usr/share/applications" - - rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation} - ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries" - ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation" - - rm -rf "$pkgdir/usr/lib/$_pkgname/browser/"{searchplugins,plugins} - ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/browser/plugins" - ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/browser/searchplugins" - - # We don't want the development stuff - rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl} - - # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" -} diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch deleted file mode 100644 index 2384818b4..000000000 --- a/libre/iceweasel-libre/libre.patch +++ /dev/null @@ -1,1220 +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..049fe6e 100644 ---- a/browser/base/content/abouthome/aboutHome.css -+++ b/browser/base/content/abouthome/aboutHome.css -@@ -49,11 +49,6 @@ a { - background-repeat: no-repeat; - } - --#searchForm, --#snippets { -- width: 470px; --} -- - #searchForm { - display: -moz-box; - } -@@ -72,8 +67,7 @@ a { - #searchEngineLogo { - display: inline-block; - height: 28px; -- width: 70px; -- min-width: 70px; -+ width: 47px; - } - - #searchText { -@@ -145,48 +139,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 +287,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 +317,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 +352,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..8e85f1f 100644 ---- a/browser/base/content/abouthome/aboutHome.js -+++ b/browser/base/content/abouthome/aboutHome.js -@@ -3,317 +3,99 @@ - * 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. -+// Bug with dom.storage.enabled set as false -+// We are using DDG as a default in this case. -+let gSearchEngine = {"name": "DuckDuckGo HTML", "searchUrl": "https://duckduckgo.com/html/?t=iceweasel&q=_searchTerms_"}; - --// 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) { -- for (let mutation of mutations) { -- if (mutation.attributeName == "searchEngineName") { -- setupSearchEngine(); -- if (!gInitialized) { -- ensureSnippetsMapThen(loadSnippets); -- gInitialized = true; -- } -- return; -- } -- } --}); -- --window.addEventListener("pageshow", function () { -- // Delay search engine setup, cause browser.js::BrowserOnAboutPageLoad runs -- // later and may use asynchronous getters. -- 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() { -- window.gObserver.disconnect(); -- window.removeEventListener("resize", fitToWidth); -+document.addEventListener("DOMContentLoaded", function init() { -+ setupSearchEngine(); - }); -+window.addEventListener("load", fitToWidth); -+window.addEventListener("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) -+function onSearchSubmit(aEvent) - { -- 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()); -+ let searchTerms = document.getElementById("searchText").value; -+ if (gSearchEngine && searchTerms.length > 0) { -+ const SEARCH_TOKENS = { -+ "_searchTerms_": encodeURIComponent(searchTerms) - } -- -- for (let callback of gSnippetsMapCallbacks) { -- callback(gSnippetsMap); -+ let url = gSearchEngine.searchUrl; -+ for (let key in SEARCH_TOKENS) { -+ url = url.replace(key, SEARCH_TOKENS[key]); - } -- gSnippetsMapCallbacks.length = 0; -+ window.location.href = url; - } - -- let openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION); -+ aEvent.preventDefault(); -+} - -- 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); -- } -+function setupSearchEngine() -+{ -+ if (localStorage && localStorage["search-engine"]) { -+ gSearchEngine = JSON.parse(localStorage["search-engine"]); - } - -- 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); -- } -+ -+ // Look for extended information, like logo and links. -+ var searchEngineInfo = SEARCH_ENGINES[gSearchEngine.name]; -+ if (searchEngineInfo) { -+ for (let prop in searchEngineInfo) -+ gSearchEngine[prop] = searchEngineInfo[prop]; - } --} - --function onSearchSubmit(aEvent) --{ -- let searchTerms = document.getElementById("searchText").value; -- let engineName = document.documentElement.getAttribute("searchEngineName"); -+ // Enqueue additional params if required by the engine definition. -+ if (gSearchEngine.params) -+ gSearchEngine.searchUrl += "&" + gSearchEngine.params; - -- if (engineName && searchTerms.length > 0) { -- // Send an event that will perform a search and Firefox Health Report will -- // record that a search from about:home has occurred. -- let eventData = JSON.stringify({ -- engineName: engineName, -- searchTerms: searchTerms -- }); -- let event = new CustomEvent("AboutHomeSearchEvent", {detail: eventData}); -- document.dispatchEvent(event); -+ // Add search engine logo. -+ if (gSearchEngine.image) { -+ let logoElt = document.getElementById("searchEngineLogo"); -+ logoElt.src = gSearchEngine.image; -+ logoElt.alt = gSearchEngine.name; - } - -- aEvent.preventDefault(); --} -- -- --function setupSearchEngine() --{ - // The "autofocus" attribute doesn't focus the form element - // immediately when the element is first drawn, so the - // attribute is also used for styling when the page first loads. -@@ -322,173 +104,6 @@ function setupSearchEngine() - searchText.removeEventListener("blur", searchText_onBlur); - searchText.removeAttribute("autofocus"); - }); -- -- let searchEngineName = document.documentElement.getAttribute("searchEngineName"); -- let searchEngineInfo = SEARCH_ENGINES[searchEngineName]; -- let logoElt = document.getElementById("searchEngineLogo"); -- -- // Add search engine logo. -- if (searchEngineInfo && searchEngineInfo.image) { -- logoElt.parentNode.hidden = false; -- logoElt.src = searchEngineInfo.image; -- logoElt.alt = searchEngineName; -- searchText.placeholder = ""; -- } -- else { -- logoElt.parentNode.hidden = true; -- searchText.placeholder = searchEngineName; -- } -- --} -- --/** -- * 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() { -diff --git a/browser/base/content/abouthome/aboutHome.xhtml b/browser/base/content/abouthome/aboutHome.xhtml -index 1d03d38..fda3095 100644 ---- a/browser/base/content/abouthome/aboutHome.xhtml -+++ b/browser/base/content/abouthome/aboutHome.xhtml -@@ -43,30 +43,9 @@ - <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"/> - -- <div id="launcher"> -- <button class="launchButton" id="downloads">&abouthome.downloadsButton.label;</button> -- <button class="launchButton" id="bookmarks">&abouthome.bookmarksButton.label;</button> -- <button class="launchButton" id="history">&abouthome.historyButton.label;</button> -- <button class="launchButton" id="apps" hidden="true">&abouthome.appsButton.label;</button> -- <button class="launchButton" id="addons">&abouthome.addonsButton.label;</button> -- <button class="launchButton" id="sync">&abouthome.syncButton.label;</button> -- <button class="launchButton" id="settings">&abouthome.settingsButton.label;</button> -- <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&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..fc3c00a 100644 ---- a/browser/base/content/content.js -+++ b/browser/base/content/content.js -@@ -50,216 +50,3 @@ if (Services.prefs.getBoolPref("browser.tabs.remote")) { - LoginManagerContent.onUsernameInput(event); - }); - } -- --let AboutHomeListener = { -- init: function(chromeGlobal) { -- chromeGlobal.addEventListener('AboutHomeLoad', () => this.onPageLoad(), false, true); -- }, -- -- handleEvent: function(aEvent) { -- switch (aEvent.type) { -- case "AboutHomeLoad": -- this.onPageLoad(); -- break; -- } -- }, -- -- receiveMessage: function(aMessage) { -- switch (aMessage.name) { -- case "AboutHome:Update": -- this.onUpdate(aMessage.data); -- break; -- } -- }, -- -- onUpdate: function(aData) { -- let doc = content.document; -- if (doc.documentURI.toLowerCase() != "about:home") -- return; -- -- if (aData.showRestoreLastSession && !PrivateBrowsingUtils.isWindowPrivate(content)) -- doc.getElementById("launcher").setAttribute("session", "true"); -- -- // Inject search engine and snippets URL. -- 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); -- }, -- -- onPageLoad: function() { -- let doc = content.document; -- if (doc.documentURI.toLowerCase() != "about:home" || -- doc.documentElement.hasAttribute("hasBrowserHandlers")) { -- return; -- } -- -- doc.documentElement.setAttribute("hasBrowserHandlers", "true"); -- let updateListener = this; -- addMessageListener("AboutHome:Update", updateListener); -- addEventListener("click", this.onClick, true); -- addEventListener("pagehide", function onPageHide(event) { -- if (event.target.defaultView.frameElement) -- return; -- removeMessageListener("AboutHome:Update", updateListener); -- removeEventListener("click", this.onClick, true); -- removeEventListener("pagehide", onPageHide, true); -- if (event.target.documentElement) -- event.target.documentElement.removeAttribute("hasBrowserHandlers"); -- }, true); -- -- // XXX bug 738646 - when Marketplace is launched, remove this statement and -- // the hidden attribute set on the apps button in aboutHome.xhtml -- if (Services.prefs.getPrefType("browser.aboutHome.apps") == Services.prefs.PREF_BOOL && -- Services.prefs.getBoolPref("browser.aboutHome.apps")) -- doc.getElementById("apps").removeAttribute("hidden"); -- -- sendAsyncMessage("AboutHome:RequestUpdate"); -- -- doc.addEventListener("AboutHomeSearchEvent", function onSearch(e) { -- sendAsyncMessage("AboutHome:Search", { searchData: e.detail }); -- }, true, true); -- }, -- -- onClick: function(aEvent) { -- if (!aEvent.isTrusted || // Don't trust synthetic events -- aEvent.button == 2 || aEvent.target.localName != "button") { -- return; -- } -- -- let originalTarget = aEvent.originalTarget; -- let ownerDoc = originalTarget.ownerDocument; -- let elmId = originalTarget.getAttribute("id"); -- -- switch (elmId) { -- case "restorePreviousSession": -- sendAsyncMessage("AboutHome:RestorePreviousSession"); -- ownerDoc.getElementById("launcher").removeAttribute("session"); -- break; -- -- case "downloads": -- sendAsyncMessage("AboutHome:Downloads"); -- break; -- -- case "bookmarks": -- sendAsyncMessage("AboutHome:Bookmarks"); -- break; -- -- case "history": -- sendAsyncMessage("AboutHome:History"); -- break; -- -- case "apps": -- sendAsyncMessage("AboutHome:Apps"); -- break; -- -- case "addons": -- sendAsyncMessage("AboutHome:Addons"); -- break; -- -- case "sync": -- sendAsyncMessage("AboutHome:Sync"); -- break; -- -- case "settings": -- sendAsyncMessage("AboutHome:Settings"); -- break; -- } -- }, --}; --AboutHomeListener.init(this); -- -- --var global = this; -- --let ClickEventHandler = { -- init: function init() { -- Cc["@mozilla.org/eventlistenerservice;1"] -- .getService(Ci.nsIEventListenerService) -- .addSystemEventListener(global, "click", this, true); -- }, -- -- handleEvent: function(event) { -- // Bug 903016: Most of this code is an unfortunate duplication from -- // contentAreaClick in browser.js. -- if (!event.isTrusted || event.defaultPrevented || event.button == 2) -- return; -- -- let [href, node] = this._hrefAndLinkNodeForClickEvent(event); -- -- let json = { button: event.button, shiftKey: event.shiftKey, -- ctrlKey: event.ctrlKey, metaKey: event.metaKey, -- altKey: event.altKey, href: null, title: null, -- bookmark: false }; -- -- if (href) { -- json.href = href; -- if (node) { -- json.title = node.getAttribute("title"); -- -- if (event.button == 0 && !event.ctrlKey && !event.shiftKey && -- !event.altKey && !event.metaKey) { -- json.bookmark = node.getAttribute("rel") == "sidebar"; -- if (json.bookmark) -- event.preventDefault(); // Need to prevent the pageload. -- } -- } -- -- sendAsyncMessage("Content:Click", json); -- return; -- } -- -- // This might be middle mouse navigation. -- if (event.button == 1) -- sendAsyncMessage("Content:Click", json); -- }, -- -- /** -- * Extracts linkNode and href for the current click target. -- * -- * @param event -- * The click event. -- * @return [href, linkNode]. -- * -- * @note linkNode will be null if the click wasn't on an anchor -- * element (or XLink). -- */ -- _hrefAndLinkNodeForClickEvent: function(event) { -- function isHTMLLink(aNode) { -- // Be consistent with what nsContextMenu.js does. -- return ((aNode instanceof content.HTMLAnchorElement && aNode.href) || -- (aNode instanceof content.HTMLAreaElement && aNode.href) || -- aNode instanceof content.HTMLLinkElement); -- } -- -- let node = event.target; -- while (node && !isHTMLLink(node)) { -- node = node.parentNode; -- } -- -- if (node) -- return [node.href, node]; -- -- // If there is no linkNode, try simple XLink. -- let href, baseURI; -- node = event.target; -- while (node && !href) { -- if (node.nodeType == content.Node.ELEMENT_NODE) { -- href = node.getAttributeNS("http://www.w3.org/1999/xlink", "href"); -- if (href) -- baseURI = node.ownerDocument.baseURIObject; -- } -- node = node.parentNode; -- } -- -- // In case of XLink, we don't return the node we got href from since -- // callers expect <a>-like elements. -- // Note: makeURI() will throw if aUri is not a valid URI. -- return [href ? makeURI(href, null, baseURI).spec : null, null]; -- } --}; --ClickEventHandler.init(); -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 { |