To subscribe or unsubscribe via the World Wide Web, visit
http://lists.freebsd.org/mailman/listinfo/freebsd-ports-bugs
or, via email, send a message with subject or body 'help' to
freebsd-ports...@freebsd.org
You can reach the person managing the list at
freebsd-port...@freebsd.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of freebsd-ports-bugs digest..."
Today's Topics:
1. ports/145370: Additional port for Freeswitch port changes.
(Eric F Crist)
2. ports/145371: Update to fusionpbx (Eric F Crist)
3. Re: ports/145337: net/openldap24-server: Linking OpenLDAP
ports with OpenSSL from ports (lin...@FreeBSD.org)
4. ports/145372: Fix installing of linux gtk2 libs for
multimedia/linux-huludesktop (Joseph S. Atkinson)
5. ports/145373: japanese/font-ipa unfetchable (Nakata Maho)
6. Re: ports/145373: japanese/font-ipa unfetchable
(ed...@FreeBSD.org)
7. ports/145374: Update port: audio/clementine-player
(Gvozdikov Veniamin)
8. Re: ports/145374: Update port: audio/clementine-player
(ite...@FreeBSD.org)
9. ports/145375: www/uzbl [maintainer][patch] update to version
2010.04.03 (Klaus T Aehlig)
10. ports/145378: new port: devel/p5-file-touch "module supplying
'touch' facility to Perl" (Eric Freeman)
----------------------------------------------------------------------
Message: 1
Date: Sat, 3 Apr 2010 21:26:16 -0500 (CDT)
From: Eric F Crist <ecr...@secure-computing.net>
Subject: ports/145370: Additional port for Freeswitch port changes.
To: FreeBSD-gn...@FreeBSD.org
Cc: Richard Neese <r.n...@gmail.com>
Message-ID: <201004040226....@cartman.secure-computing.net>
>Number: 145370
>Category: ports
>Synopsis: Additional port for Freeswitch port changes.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 04 02:30:07 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Eric F Crist
>Release: FreeBSD 8.0-RELEASE amd64
>Organization:
Secure Computing Networks
FusionPBX
>Environment:
System: FreeBSD cartman.secure-computing.net 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:02:08 UTC 2009 ro...@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
Additional port for new freeswitch structure.
>How-To-Repeat:
>Fix:
Apply shar to ports tree.
--- fspizza.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# freeswitch-pizzademo/
# freeswitch-pizzademo/files
# freeswitch-pizzademo/files/javascript
# freeswitch-pizzademo/files/javascript/js_modules
# freeswitch-pizzademo/files/javascript/js_modules/SpeechTools.jm
# freeswitch-pizzademo/files/javascript/ps_pizza.js
# freeswitch-pizzademo/distinfo
# freeswitch-pizzademo/pkg-descr
# freeswitch-pizzademo/pkg-plist
# freeswitch-pizzademo/Makefile
#
echo c - freeswitch-pizzademo/
mkdir -p freeswitch-pizzademo/ > /dev/null 2>&1
echo c - freeswitch-pizzademo/files
mkdir -p freeswitch-pizzademo/files > /dev/null 2>&1
echo c - freeswitch-pizzademo/files/javascript
mkdir -p freeswitch-pizzademo/files/javascript > /dev/null 2>&1
echo c - freeswitch-pizzademo/files/javascript/js_modules
mkdir -p freeswitch-pizzademo/files/javascript/js_modules > /dev/null 2>&1
echo x - freeswitch-pizzademo/files/javascript/js_modules/SpeechTools.jm
sed 's/^X//' >freeswitch-pizzademo/files/javascript/js_modules/SpeechTools.jm << 'bb67ff2bd323c8319e07da00f1a837ed'
X/*
X * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
X * Copyright (C) 2005/2006, Anthony Minessale II <ant...@yahoo.com>
X *
X * Version: MPL 1.1
X *
X * The contents of this file are subject to the Mozilla Public License Version
X * 1.1 (the "License"); you may not use this file except in compliance with
X * the License. You may obtain a copy of the License at
X * http://www.mozilla.org/MPL/
X *
X * Software distributed under the License is distributed on an "AS IS" basis,
X * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
X * for the specific language governing rights and limitations under the
X * License.
X *
X * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
X *
X * The Initial Developer of the Original Code is
X * Anthony Minessale II <ant...@yahoo.com>
X * Portions created by the Initial Developer are Copyright (C)
X * the Initial Developer. All Rights Reserved.
X *
X * Contributor(s):
X *
X * Anthony Minessale II <ant...@yahoo.com>
X *
X *
X * SpeechTools.jm Speech Detection Interface
X *
X */
X
X/* Constructor for Grammar Class (Class to identify a grammar entity) */
Xfunction Grammar(grammar_name, path, obj_path, min_score, confirm_score, halt) {
X this.grammar_name = grammar_name;
X this.path = path;
X this.min_score = min_score;
X this.confirm_score = confirm_score;
X this.halt = halt;
X this.obj_path = obj_path;
X
X if (!this.min_score) {
X this.min_score = 1;
X }
X
X if (!this.confirm_score) {
X this.confirm_score = 400;
X }
X}
X
X/* Constructor for SpeechDetect Class (Class to Detect Speech) */
Xfunction SpeechDetect(session, mod, ip) {
X this.ip = ip;
X this.session = session;
X this.mod = mod;
X this.grammar_name = undefined;
X this.grammar_hash = new Array();
X this.grammar_name = false;
X this.audio_base = "";
X this.audio_ext = ".wav";
X this.tts_eng = false;
X this.tts_voice = false;
X this.AutoUnload = false;
X this.debug = false;
X
X /* Set the TTS info */
X this.setTTS = function (tts_eng, tts_voice) {
X this.tts_eng = tts_eng;
X this.tts_voice = tts_voice;
X }
X
X /* Set the audio base */
X this.setAudioBase = function (audio_base) {
X this.audio_base = audio_base;
X }
X
X /* Set the audio extension */
X this.setAudioExt= function (audio_ext) {
X this.audio_ext = audio_ext;
X }
X
X /* Add a grammar to be used */
X this.addGrammar = function(grammar_object) {
X this.grammar_hash[grammar_object.grammar_name] = grammar_object;
X }
X
X /* Play an audio file */
X this.streamFile = function(str) {
X var rv;
X if (!str) {
X console_log("error", "No file specified!\n");
X return;
X }
X files = str.split(",");
X for( x = 0; x < files.length; x++) {
X if (!files[x] || files[x] == "noop") {
X continue;
X }
X this.session.streamFile(this.audio_base + files[x] + this.audio_ext);
X }
X }
X
X /* Speak with TTS */
X this.speak = function(str) {
X return this.session.speak(this.tts_eng, this.tts_voice, str);
X }
X
X /* Set the current grammar */
X this.setGrammar = function (grammar_name) {
X var grammar_object = this.grammar_hash[grammar_name];
X
X if (!grammar_object) {
X console_log("error", "Missing Grammar!\n");
X return false;
X }
X
X if (this.grammar_name) {
X if (this.AutoUnload) {
X console_log("debug", "Unloading grammar " + this.grammar_name + "\n");
X this.session.execute("detect_speech", "nogrammar " + this.grammar_name);
X }
X if (grammar_object.path) {
X this.session.execute("detect_speech", "grammar " + grammar_name + " " + grammar_object.path);
X } else {
X this.session.execute("detect_speech", "grammar " + grammar_name);
X }
X } else {
X this.session.execute("detect_speech", this.mod + " " + grammar_name + " " + grammar_object.path + " " + this.ip);
X }
X
X this.grammar_name = grammar_name;
X }
X
X /* Pause speech detection */
X this.pause = function() {
X this.session.execute("detect_speech", "pause");
X }
X
X /* Resume speech detection */
X this.resume = function() {
X this.session.execute("detect_speech", "resume");
X }
X
X /* Stop speech detection */
X this.stop = function() {
X this.session.execute("detect_speech", "stop");
X }
X
X /* Callback function for streaming,TTS or bridged calls */
X this.onInput = function(s, type, inputEvent, _this) {
X try {
X if (type == "event") {
X var speech_type = inputEvent.getHeader("Speech-Type");
X var rv = new Array();
X
X if (!_this.grammar_name) {
X console_log("error", "No Grammar name!\n");
X _this.session.hangup();
X return false;
X }
X
X var grammar_object = _this.grammar_hash[_this.grammar_name];
X
X if (!grammar_object) {
X console_log("error", "Can't find grammar for " + _this.grammar_name + "\n");
X _this.session.hangup();
X return false;
X }
X
X if (speech_type == "begin-speaking") {
X if (grammar_object.halt) {
X return false;
X }
X } else {
X var body = inputEvent.getBody();
X var result;
X var xml;
X
X body = body.replace(/<\?.*?\?>/g, '');
X xml = new XML("<xml>" + body + "</xml>");
X result = xml.result;
X
X _this.lastDetect = body;
X
X if (_this.debug) {
X console_log("debug", "----XML:\n" + body + "\n");
X console_log("debug", "----Heard [" + result.interpretation.input + "]\n");
X console_log("debug", "----Hit score " + result.interpretation.@confidence + "/" +
X grammar_object.min_score + "/" + grammar_object.confirm_score + "\n");
X }
X
X if (result.interpretation.@confidence >= grammar_object.min_score) {
X if (result.interpretation.@confidence < grammar_object.confirm_score) {
X rv.push("_confirm_");
X }
X
X eval("xo = " + grammar_object.obj_path + ";");
X for (x = 0; x < xo.length(); x++) {
X rv.push(xo[x]);
X console_log("info", "----" +xo[x] + "\n");
X }
X } else {
X rv.push("_no_idea_");
X }
X
X }
X delete interp;
X return rv;
X }
X }
X
X catch(err) {
X console_log("crit", "----ERROR:\n" + err + "\n");
X }
X }
X}
X
X/* Constructor for SpeechObtainer Class (Class to collect data from a SpeechDetect Class) */
Xfunction SpeechObtainer(asr, req, wait_time) {
X
X this.items = new Array();
X this.collected_items = new Array();
X this.index = 0;
X this.collected_index = 0;
X this.req = req;
X this.tts_eng = undefined;
X this.tts_voice = false;
X this.asr = asr;
X this.top_sound = false;
X this.add_sound = false;
X this.dup_sound = false;
X this.bad_sound = false;
X this.needConfirm = false;
X this.grammar_name = false;
X this.audio_base = asr.audio_base;
X this.audio_ext = asr.audio_ext;
X this.tts_eng = asr.tts_eng;
X this.tts_voice = asr.tts_voice;
X this.debug = asr.debug;
X
X if (!req) {
X req = 1;
X }
X
X if (!wait_time) {
X wait_time = 5000;
X }
X
X this.waitTime = wait_time + 0;
X
X /* Set the TTS info */
X this.setTTS = function (tts_eng, tts_voice) {
X this.tts_eng = tts_eng;
X this.tts_voice = tts_voice;
X }
X
X /* Set the audio base */
X this.setAudioBase = function (audio_base) {
X this.audio_base = audio_base;
X }
X
X /* Set the audio extension */
X this.setAudioExt= function (audio_ext) {
X this.audio_ext = audio_ext;
X }
X
X /* Set the grammar to use */
X this.setGrammar = function (grammar_name, path, obj_path, min_score, confirm_score, halt) {
X var grammar_object = new Grammar(grammar_name, path, obj_path, min_score, confirm_score, halt);
X this.asr.addGrammar(grammar_object);
X this.grammar_name = grammar_name;
X }
X
X /* Set the top audio file or tts for the collection */
X this.setTopSound = function (top_sound) {
X this.top_sound = top_sound;
X }
X
X /* Set the audio file or tts for misunderstood input */
X this.setBadSound = function (bad_sound) {
X this.bad_sound = bad_sound;
X }
X
X /* Set the audio file or tts for duplicate input */
X this.setDupSound = function (dup_sound) {
X this.dup_sound = dup_sound;
X }
X
X /* Set the audio file or tts for accepted input */
X this.setAddSound = function (add_sound) {
X this.add_sound = add_sound;
X }
X
X /* Add acceptable items (comma sep list) */
X this.addItem = function(item) {
X ia = item.split(",");
X var x;
X for (x = 0; x < ia.length; x++) {
X this.items[this.index++] = ia[x];
X }
X }
X
X this.addItemAlias = function(item,alias) {
X ia = item.split(",");
X var x;
X for (x = 0; x < ia.length; x++) {
X this.items[this.index++] = ia[x] + ":::" + alias;
X }
X }
X
X /* Add a regex */
X this.addRegEx = function(item) {
X this.items[this.index++] = item;
X }
X
X /* Reset the object and delete all collect items */
X this.reset = function() {
X this.collected_index = 0;
X delete this.collected_items;
X this.collected_items = new Array();
X }
X
X /* Stream a file, collecting input */
X this.streamFile = function(str) {
X var rv;
X if (!str) {
X console_log("error", "No file specified!\n");
X return;
X }
X files = str.split(",");
X for( x = 0; x < files.length; x++) {
X if (!files[x] || files[x] == "noop") {
X continue;
X }
X rv = this.asr.session.streamFile(this.audio_base + files[x] + this.audio_ext , this.asr.onInput, this.asr);
X if (rv) {
X break;
X }
X }
X
X return rv;
X }
X
X /* Speak some text, collecting input */
X this.speak = function(str) {
X return this.asr.session.speak(this.tts_eng, this.tts_voice, str, this.asr.onInput, this.asr);
X }
X
X /* Process collected input */
X this.react = function(say_str, play_str) {
X var rv;
X
X
X if (!rv) {
X rv = this.asr.session.collectInput(this.asr.onInput, this.asr, 500);
X }
X if (!rv) {
X this.asr.resume();
X if (this.tts_eng && this.tts_voice) {
X rv = this.speak(say_str);
X } else {
X rv = this.streamFile(play_str);
X }
X }
X
X if (!rv) {
X rv = this.asr.session.collectInput(this.asr.onInput, this.asr, 500);
X }
X
X if (rv && !rv[0]) {
X rv = false;
X }
X
X return rv;
X }
X
X /* Collect input */
X this.run = function() {
X var rv;
X var hit;
X var dup;
X
X if (this.collected_index) {
X this.reset();
X }
X
X if (!this.grammar_name) {
X console_log("error", "No Grammar name!\n");
X this.session.hangup();
X return false;
X }
X
X this.asr.setGrammar(this.grammar_name);
X
X while(this.asr.session.ready() && this.collected_index < this.req) {
X var x;
X this.needConfirm = false;
X if (!rv) {
X rv = this.react(this.top_sound, this.top_sound);
X }
X if (!rv) {
X this.asr.resume();
X rv = this.asr.session.collectInput(this.asr.onInput, this.asr, this.waitTime);
X }
X hit = false;
X if (rv) {
X var items = rv;
X rv = undefined;
X for (y = 0; y < items.length; y++) {
X if (items[y] == "_no_idea_") {
X if (this.debug) {
X console_log("debug", "----We don't understand this\n");
X }
X break;
X }
X if (items[y] == "_confirm_") {
X this.needConfirm = true;
X if (this.debug) {
X console_log("debug", "----We need to confirm this one\n");
X }
X continue;
X }
X
X for(x = 0 ; x < this.index; x++) {
X if (this.debug) {
X console_log("debug", "----Testing [" + y + "] [" + x + "] " + items[y] + " =~ [" + this.items[x] + "]\n");
X }
X str = this.items[x];
X
X ab = str.split(":::");
X
X var re = new RegExp(ab[0], "i");
X match = re.exec(items[y]);
X
X if (match) {
X
X for (i = 0; i < match.length; i++) {
X if (ab.length == 1) {
X rep = match[i];
X } else {
X rep = ab[1];
X }
X
X dup = false;
X for(z = 0; z < this.collected_items.length; z++) {
X if (this.collected_items[z] == rep) {
X dup = true;
X break;
X }
X }
X if (dup) {
X if (this.dup_sound) {
X rv = this.react(this.dup_sound + " " + rep, this.dup_sound + "," + rep);
X }
X } else {
X if (this.debug) {
X console_log("debug", "----Adding " + rep + "\n");
X }
X this.collected_items[this.collected_index++] = rep;
X hit = true;
X if (this.add_sound) {
X rv = this.react(this.add_sound + " " + rep, this.add_sound + "," + rep);
X }
X }
X }
X }
X }
X }
X }
X
X if (!rv) {
X rv = this.asr.session.collectInput(this.asr.onInput, this.asr, 1000);
X }
X
X if (!rv && !hit && !dup) {
X rv = this.react(this.bad_sound, this.bad_sound);
X }
X }
X
X return this.collected_items;
X
X }
X}
bb67ff2bd323c8319e07da00f1a837ed
echo x - freeswitch-pizzademo/files/javascript/ps_pizza.js
sed 's/^X//' >freeswitch-pizzademo/files/javascript/ps_pizza.js << '4bb18679aa511755730e631282a8bb61'
X/*
X * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
X * Copyright (C) 2005/2006, Anthony Minessale II <ant...@yahoo.com>
X *
X * Version: MPL 1.1
X *
X * The contents of this file are subject to the Mozilla Public License Version
X * 1.1 (the "License"); you may not use this file except in compliance with
X * the License. You may obtain a copy of the License at
X * http://www.mozilla.org/MPL/
X *
X * Software distributed under the License is distributed on an "AS IS" basis,
X * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
X * for the specific language governing rights and limitations under the
X * License.
X *
X * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
X *
X * The Initial Developer of the Original Code is
X * Anthony Minessale II <ant...@yahoo.com>
X * Portions created by the Initial Developer are Copyright (C)
X * the Initial Developer. All Rights Reserved.
X *
X * Contributor(s):
X *
X * Anthony Minessale II <ant...@yahoo.com>
X *
X *
X * pizza.js ASR Demonstration Application
X *
X */
Xinclude("javascript/js_modules/SpeechTools.jm");
X
Xfunction on_dtmf(a, b, c) {}
X
Xvar dft_min = 40;
Xvar dft_confirm = 70;
X
X/***************** Initialize The Speech Detector *****************/
Xvar asr = new SpeechDetect(session, "pocketsphinx");
X
X/***************** Be more verbose *****************/
Xasr.debug = 1;
X
X/***************** Set audio params *****************/
Xasr.setAudioBase("/usr/local/share/freeswitch/sounds/pizza/");
Xasr.setAudioExt(".wav");
X
X/***************** Unload the last grammar whenever we activate a new one *****************/
Xasr.AutoUnload = true;
X
X/***************** Create And Configure The Pizza *****************/
Xvar pizza = new Object();
X
X/***************** Delivery Or Take-Out? *****************/
Xpizza.orderObtainer = new SpeechObtainer(asr, 1, 5000);
Xpizza.orderObtainer.setGrammar("pizza_order", "", "result.interpretation.input", dft_min, dft_confirm, true);
Xpizza.orderObtainer.setTopSound("GP-DeliveryorTakeout");
Xpizza.orderObtainer.setBadSound("GP-NoDeliveryorTake-out");
Xpizza.orderObtainer.addItemAlias("Delivery", "Delivery");
Xpizza.orderObtainer.addItemAlias("Takeout,Pickup", "Pickup");
X
X/***************** What Size? *****************/
Xpizza.sizeObtainer = new SpeechObtainer(asr, 1, 5000);
Xpizza.sizeObtainer.setGrammar("pizza_size", "", "result.interpretation.input", dft_min, dft_confirm, true);
Xpizza.sizeObtainer.setTopSound("GP-Size");
Xpizza.sizeObtainer.setBadSound("GP-NI");
Xpizza.sizeObtainer.addItemAlias("^Extra\\s*Large", "ExtraLarge");
Xpizza.sizeObtainer.addItemAlias("^Large$", "Large");
Xpizza.sizeObtainer.addItemAlias("^Medium$", "Medium");
Xpizza.sizeObtainer.addItemAlias("^Small$", "Small");
Xpizza.sizeObtainer.addItemAlias("^Humongous$,^Huge$,^Totally\\s*Humongous$,^Totally", "TotallyHumongous");
X
X/***************** What Type Of Crust? *****************/
Xpizza.crustObtainer = new SpeechObtainer(asr, 1, 5000);
Xpizza.crustObtainer.setGrammar("pizza_crust", "", "result.interpretation.input", dft_min, dft_confirm, true);
Xpizza.crustObtainer.setTopSound("GP-Crust");
Xpizza.crustObtainer.setBadSound("GP-NI");
Xpizza.crustObtainer.addItemAlias("^Hand\\s*Tossed$,^Tossed$", "HandTossed");
Xpizza.crustObtainer.addItemAlias("^Chicago\\s*style$,^Chicago$", "Pan");
Xpizza.crustObtainer.addItemAlias("^Deep,^Pan,^Baked", "Pan");
Xpizza.crustObtainer.addItemAlias("^New\\s*York,^Thin", "Thin");
X
X/***************** Specialty Or Custom? *****************/
Xpizza.typeObtainer = new SpeechObtainer(asr, 1, 5000);
Xpizza.typeObtainer.setGrammar("pizza_type", "", "result.interpretation.input", dft_min, dft_confirm, true);
Xpizza.typeObtainer.setTopSound("GP-SpecialtyorCustom");
Xpizza.typeObtainer.setBadSound("GP-NI");
Xpizza.typeObtainer.addItemAlias("^Specialty$,^Specialty\\s*pizza$", "Specialty");
Xpizza.typeObtainer.addItemAlias("^pick", "Custom");
X
X
X/***************** Which Specialty? *****************/
Xpizza.specialtyObtainer = new SpeechObtainer(asr, 1, 5000);
Xpizza.specialtyObtainer.setGrammar("pizza_specialty", "", "result.interpretation.input", dft_min, dft_confirm, true);
Xpizza.specialtyObtainer.setTopSound("GP-SpecialtyList");
Xpizza.specialtyObtainer.setBadSound("GP-NI");
Xpizza.specialtyObtainer.addItemAlias("^Hawaii,^Hawaiian", "Hawaiian");
Xpizza.specialtyObtainer.addItemAlias("^Meat", "MeatLovers");
Xpizza.specialtyObtainer.addItemAlias("Pickle,^World", "Pickle");
Xpizza.specialtyObtainer.addItemAlias("^Salvador,^Dolly,^Dali", "Dali");
Xpizza.specialtyObtainer.addItemAlias("^Veg", "Vegetarian");
X
X
X/***************** What Toppings? *****************/
Xpizza.toppingsObtainer = new SpeechObtainer(asr, 1, 5000);
Xpizza.toppingsObtainer.setGrammar("pizza_toppings", "", "result.interpretation.input", dft_min, dft_confirm, true);
Xpizza.toppingsObtainer.setTopSound("GP-Toppings");
Xpizza.toppingsObtainer.setBadSound("GP-NI");
Xpizza.toppingsObtainer.addItemAlias("anchovie,anchovies", "anchovies");
Xpizza.toppingsObtainer.addItemAlias("artichoke,artichockes", "artichoke");
Xpizza.toppingsObtainer.addItemAlias("canadian\\s*bacon", "canadianbacon");
Xpizza.toppingsObtainer.addItemAlias("everything", "everything");
Xpizza.toppingsObtainer.addItemAlias("extra\\s*cheese", "extracheese");
Xpizza.toppingsObtainer.addItemAlias("garlic", "garlic");
Xpizza.toppingsObtainer.addItemAlias("goat\\s*cheese", "goatcheese");
Xpizza.toppingsObtainer.addItemAlias("bell\\s*pepper,bell\\s*peppers", "bellpepper");
Xpizza.toppingsObtainer.addItemAlias("mango", "mango");
Xpizza.toppingsObtainer.addItemAlias("mushroom,mushrooms", "mushroom");
Xpizza.toppingsObtainer.addItemAlias("olives", "olives");
Xpizza.toppingsObtainer.addItemAlias("onion,onions", "onions");
Xpizza.toppingsObtainer.addItemAlias("pepperoni", "pepperoni");
Xpizza.toppingsObtainer.addItemAlias("pickle,pickles", "pickle");
Xpizza.toppingsObtainer.addItemAlias("pineapple", "pineapple");
Xpizza.toppingsObtainer.addItemAlias("salami", "salami");
Xpizza.toppingsObtainer.addItemAlias("sausage", "sausage");
Xpizza.toppingsObtainer.addItemAlias("shrimp", "shrimp");
Xpizza.toppingsObtainer.addItemAlias("spinich", "spinich");
Xpizza.toppingsObtainer.addItemAlias("ham", "ham");
X
X/***************** Change Delivery Or Size Or Crust, Add/Rem Toppings Or Start Over *****************/
Xpizza.arsoObtainer = new SpeechObtainer(asr, 1, 5000);
Xpizza.arsoObtainer.setGrammar("pizza_arso", "", "result.interpretation.input", dft_min, 50, true);
Xpizza.arsoObtainer.setTopSound("GP-ARSO");
Xpizza.arsoObtainer.setBadSound("GP-NI");
Xpizza.arsoObtainer.addItemAlias("^delivery$", "delivery");
Xpizza.arsoObtainer.addItemAlias("^size$", "size");
Xpizza.arsoObtainer.addItemAlias("^crust$", "crust");
Xpizza.arsoObtainer.addItemAlias("^start\\s*over$", "startover");
Xpizza.arsoObtainer.addItemAlias("^add\\s*", "add_topping");
Xpizza.arsoObtainer.addItemAlias("^remove\\s*", "rem_topping");
X
X/***************** Yes? No? Maybe So? *****************/
Xpizza.yesnoObtainer = new SpeechObtainer(asr, 1, 5000);
Xpizza.yesnoObtainer.setGrammar("pizza_yesno", "", "result.interpretation.input", dft_min, 20, true);
Xpizza.yesnoObtainer.setBadSound("GP-NI");
Xpizza.yesnoObtainer.addItemAlias("^yes,^correct", "yes");
Xpizza.yesnoObtainer.addItemAlias("^no", "no");
X
X/***************** Get Some Information *****************/
Xpizza.get = function(params, confirm) {
X for(;;) {
X if (!session.ready()) {
X return false;
X }
X var main_items = params.run();
X if (confirm && params.needConfirm) {
X pizza.yesnoObtainer.setTopSound("Confirm" + main_items[0]);
X var items = pizza.yesnoObtainer.run();
X if (items[0] == "yes") {
X break;
X }
X } else {
X break;
X }
X }
X
X return main_items;
X};
X
X/***************** Is This Right? *****************/
Xpizza.check = function () {
X if (!session.ready()) {
X return false;
X }
X asr.streamFile("GP-You_ordered_a");
X asr.streamFile(pizza.size);
X asr.streamFile(pizza.crust);
X if (pizza.type == "Specialty") {
X asr.streamFile(pizza.specialty);
X asr.streamFile("pizza");
X } else {
X asr.streamFile("pizza");
X asr.streamFile("GP-With");
X for (key in pizza.toppings) {
X if (pizza.toppings[key] == "add") {
X asr.streamFile(key);
X }
X }
X
X }
X
X pizza.yesnoObtainer.setTopSound("GP-WasThisRight");
X items = pizza.yesnoObtainer.run();
X return items[0] == "yes" ? true : false;
X};
X
X/***************** Let's Remove The Toppings *****************/
Xpizza.clearToppings = function() {
X if (!session.ready()) {
X return false;
X }
X if (pizza.toppings) {
X delete pizza.toppings;
X }
X pizza.have_toppings = false;
X pizza.toppings = new Array();
X}
X
X/***************** Clean Slate *****************/
Xpizza.init = function() {
X if (!session.ready()) {
X return false;
X }
X pizza.add_rem = "add";
X pizza.order = pizza.size = pizza.crust = pizza.type = false;
X pizza.toppingsObtainer.setTopSound("GP-Toppings");
X pizza.specialty = false;
X pizza.clearToppings();
X pizza.said_greet = false;
X}
X
X/***************** Welcome! *****************/
Xpizza.greet = function () {
X if (!session.ready()) {
X return false;
X }
X if (!pizza.said_greet) {
X asr.streamFile("GP-Greeting");
X pizza.said_greet = true;
X }
X};
X
X/***************** Collect Order Type *****************/
Xpizza.getOrder = function() {
X if (!session.ready()) {
X return false;
X }
X if (!pizza.order) {
X var items = pizza.get(pizza.orderObtainer, true);
X pizza.order = items[0];
X }
X};
X
X/***************** Collect Size *****************/
Xpizza.getSize = function() {
X if (!session.ready()) {
X return false;
X }
X if (!pizza.size) {
X var items = pizza.get(pizza.sizeObtainer, true);
X pizza.size = items[0];
X }
X};
X
X/***************** Collect Crust *****************/
Xpizza.getCrust = function() {
X if (!session.ready()) {
X return false;
X }
X if (!pizza.crust) {
X var items = pizza.get(pizza.crustObtainer, true);
X pizza.crust = items[0];
X }
X};
X
X/***************** Collect Pizza Type *****************/
Xpizza.getType = function() {
X if (!session.ready()) {
X return false;
X }
X if (!pizza.type) {
X var items = pizza.get(pizza.typeObtainer, true);
X pizza.type = items[0];
X }
X};
X
X/***************** Collect Toppings *****************/
Xpizza.getToppings = function() {
X if (!session.ready()) {
X return false;
X }
X if (pizza.type == "Specialty" && !pizza.specialty) {
X var items = pizza.get(pizza.specialtyObtainer, true);
X pizza.specialty = items[0];
X pizza.have_toppings = true;
X } else if (!pizza.have_toppings) {
X toppings = pizza.get(pizza.toppingsObtainer, false);
X for(x = 0; x < toppings.length; x++) {
X pizza.toppings[toppings[x]] = pizza.add_rem;
X }
X pizza.have_toppings = true;
X }
X};
X
X/***************** Modify Pizza If You Don't Like It *****************/
Xpizza.fix = function() {
X if (!session.ready()) {
X return false;
X }
X asr.streamFile("GP-Wanted-No");
X arso = pizza.get(pizza.arsoObtainer, false);
X for (x = 0; x < arso.length; x++) {
X if (arso[x] == "delivery") {
X pizza.order = false;
X } else if (arso[x] == "size") {
X pizza.size = false;
X } else if (arso[x] == "crust") {
X pizza.crust = false;
X } else if (arso[x] == "startover") {
X pizza.init();
X } else {
X if (pizza.type == "Specialty") {
X asr.streamFile("GP-ChangeSpec");
X pizza.type = false;
X pizza.clearToppings();
X } else {
X pizza.have_toppings = false;
X if (arso[x] == "add_topping") {
X pizza.add_rem = "add";
X pizza.toppingsObtainer.setTopSound("GP-Adding");
X } else {
X pizza.add_rem = "rem";
X pizza.toppingsObtainer.setTopSound("GP-Remove");
X }
X }
X }
X }
X};
X
X/***************** Tie It All Together *****************/
Xpizza.run = function() {
X pizza.init();
X
X for(;;) {
X if (!session.ready()) {
X break;
X }
X pizza.greet();
X pizza.getOrder();
X pizza.getSize();
X pizza.getCrust();
X pizza.getType();
X pizza.getToppings();
X
X if (pizza.check()) {
X asr.streamFile(pizza.order);
X break;
X } else {
X pizza.fix();
X }
X }
X};
X
X/***************** Begin Program *****************/
Xsession.answer();
Xpizza.run();
Xasr.stop();
4bb18679aa511755730e631282a8bb61
echo x - freeswitch-pizzademo/distinfo
sed 's/^X//' >freeswitch-pizzademo/distinfo << 'a4b53054b0d3f4d03a0da9d198a3b168'
XMD5 (pizza_gram.tar.gz) = dc10f21c8d6bd708b7deae9f18a82b92
XSHA256 (pizza_gram.tar.gz) = e713406834ba40fe07c69b84f042fcb27493c15bc6b51133418527bc7a818027
XSIZE (pizza_gram.tar.gz) = 1053
XMD5 (pizza_sounds.tar.gz) = dacfde8879da8dd0e0542069e5cba6a2
XSHA256 (pizza_sounds.tar.gz) = 606f736625b7f331e219e10460029c8e0b0e58136feeddde976a0dcc68a97bef
XSIZE (pizza_sounds.tar.gz) = 1498679
a4b53054b0d3f4d03a0da9d198a3b168
echo x - freeswitch-pizzademo/pkg-descr
sed 's/^X//' >freeswitch-pizzademo/pkg-descr << '378620611b62ea92ef547ff42cd3378a'
XFreeSwitch PockectSphinx Pizza Demo
378620611b62ea92ef547ff42cd3378a
echo x - freeswitch-pizzademo/pkg-plist
sed 's/^X//' >freeswitch-pizzademo/pkg-plist << 'fc61f57755a875b77bd4088c25b7cb00'
Xfreeswitch/grammar/pizza_arso.gram
Xfreeswitch/grammar/pizza_crust.gram
Xfreeswitch/grammar/pizza_order.gram
Xfreeswitch/grammar/pizza_size.gram
Xfreeswitch/grammar/pizza_specialty.gram
Xfreeswitch/grammar/pizza_toppings.gram
Xfreeswitch/grammar/pizza_type.gram
Xfreeswitch/grammar/pizza_yesno.gram
Xfreeswitch/scripts/javascript/js_modules/SpeechTools.jm
Xfreeswitch/scripts/javascript/ps_pizza.js
Xfreeswitch/sounds/pizza/GP-DeliveryorTakeout.wav
Xfreeswitch/sounds/pizza/extracheese.wav
Xfreeswitch/sounds/pizza/garlic.wav
Xfreeswitch/sounds/pizza/Pickle.wav
Xfreeswitch/sounds/pizza/ConfirmDali.wav
Xfreeswitch/sounds/pizza/ConfirmStartOver.wav
Xfreeswitch/sounds/pizza/MeatLovers.wav
Xfreeswitch/sounds/pizza/TotallyHumongous.wav
Xfreeswitch/sounds/pizza/ConfirmPickle.wav
Xfreeswitch/sounds/pizza/goatcheese.wav
Xfreeswitch/sounds/pizza/Small.wav
Xfreeswitch/sounds/pizza/canadianbacon.wav
Xfreeswitch/sounds/pizza/ham.wav
Xfreeswitch/sounds/pizza/Medium.wav
Xfreeswitch/sounds/pizza/ConfirmHawaiian.wav
Xfreeswitch/sounds/pizza/GP-ChangeSpec.wav
Xfreeswitch/sounds/pizza/ConfirmCustom.wav
Xfreeswitch/sounds/pizza/ConfirmTotallyHumongous.wav
Xfreeswitch/sounds/pizza/pickles.wav
Xfreeswitch/sounds/pizza/ConfirmMedium.wav
Xfreeswitch/sounds/pizza/olives.wav
Xfreeswitch/sounds/pizza/ConfirmPan.wav
Xfreeswitch/sounds/pizza/Vegetarian.wav
Xfreeswitch/sounds/pizza/GP-WasThisRight.wav
Xfreeswitch/sounds/pizza/shrimp.wav
Xfreeswitch/sounds/pizza/ExtraLarge.wav
Xfreeswitch/sounds/pizza/HandTossed.wav
Xfreeswitch/sounds/pizza/GP-Wanted-No.wav
Xfreeswitch/sounds/pizza/salami.wav
Xfreeswitch/sounds/pizza/GP-SpecialtyList.wav
Xfreeswitch/sounds/pizza/GP-Crust.wav
Xfreeswitch/sounds/pizza/ConfirmExtraLarge.wav
Xfreeswitch/sounds/pizza/Pan.wav
Xfreeswitch/sounds/pizza/GP-SpecialtyorCustom.wav
Xfreeswitch/sounds/pizza/Hawaiian.wav
Xfreeswitch/sounds/pizza/artichoke.wav
Xfreeswitch/sounds/pizza/Dali.wav
Xfreeswitch/sounds/pizza/ConfirmLarge.wav
Xfreeswitch/sounds/pizza/ConfirmHandTossed.wav
Xfreeswitch/sounds/pizza/ConfirmPickup.wav
Xfreeswitch/sounds/pizza/spinach.wav
Xfreeswitch/sounds/pizza/everything.wav
Xfreeswitch/sounds/pizza/Delivery.wav
Xfreeswitch/sounds/pizza/GP-NI.wav
Xfreeswitch/sounds/pizza/sausage.wav
Xfreeswitch/sounds/pizza/ConfirmVegetarian.wav
Xfreeswitch/sounds/pizza/mango.wav
Xfreeswitch/sounds/pizza/GP-Remove.wav
Xfreeswitch/sounds/pizza/bellpepper.wav
Xfreeswitch/sounds/pizza/GP-You_ordered_a.wav
Xfreeswitch/sounds/pizza/mushroom.wav
Xfreeswitch/sounds/pizza/Thin.wav
Xfreeswitch/sounds/pizza/onions.wav
Xfreeswitch/sounds/pizza/pizza.wav
Xfreeswitch/sounds/pizza/ConfirmRemove.wav
Xfreeswitch/sounds/pizza/ConfirmNone.wav
Xfreeswitch/sounds/pizza/pineapple.wav
Xfreeswitch/sounds/pizza/GP-ARSO.wav
Xfreeswitch/sounds/pizza/GP-Size.wav
Xfreeswitch/sounds/pizza/GP-Adding.wav
Xfreeswitch/sounds/pizza/GP-Toppings.wav
Xfreeswitch/sounds/pizza/GP-Greeting.wav
Xfreeswitch/sounds/pizza/ConfirmDelivery.wav
Xfreeswitch/sounds/pizza/ConfirmThin.wav
Xfreeswitch/sounds/pizza/ConfirmSpeciality.wav
Xfreeswitch/sounds/pizza/ConfirmSmall.wav
Xfreeswitch/sounds/pizza/ConfirmMeatLovers.wav
Xfreeswitch/sounds/pizza/pepperoni.wav
Xfreeswitch/sounds/pizza/GP-With.wav
Xfreeswitch/sounds/pizza/Large.wav
Xfreeswitch/sounds/pizza/Pickup.wav
Xfreeswitch/sounds/pizza/GP-NoDeliveryorTake-out.wav
Xfreeswitch/sounds/pizza/anchovies.wav
Xfreeswitch/sounds/pizza/Crust.wav
X@dirrm freeswitch/sounds/pizza
X@dirrm freeswitch/sounds
X@dirrm freeswitch/scripts/javascript/js_modules
X@dirrm freeswitch/scripts/javascript
X@exec mkdir -p %D/freeswitch/scripts/javascript/js_modules
X@exec mkdir -p %D/freeswitch/scripts/javascript
fc61f57755a875b77bd4088c25b7cb00
echo x - freeswitch-pizzademo/Makefile
sed 's/^X//' >freeswitch-pizzademo/Makefile << 'fbe7ee448e90adbbce26752d0a254c89'
X# Ports collection makefile for: freeswitch pizza demo
X# Date created: september , 2009
X# Whom: Richard Neese <r.n...@gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME= freeswitch-pizzademo
XPORTVERSION= 0.1
XCATEGORIES= audio
XMASTER_SITES= http://files.freeswitch.org/:source1 \
X http://dl.getdropbox.com/u/152504/:source2
XDISTFILES= pizza_gram.tar.gz:source1 \
X pizza_sounds.tar.gz:source1
X
XMAINTAINER= r.n...@gmail.com
XCOMMENT= FreeSwitch pizza demo
X
XRUN_DEPENDS= ${LOCALBASE}/freeswitch/bin/freeswitch:${PORTSDIR}/net/freeswitch
X
XNO_BUILD= yes
X
Xdo-install:
X @${CP} -R files/* ${LOCALBASE}/share/freeswitch/scripts
X @${TAR} -xvzf ${DISTDIR}/pizza_gram.tar.gz -C ${LOCALBASE}/share/freeswitch/grammar
X @${TAR} -xzvf ${DISTDIR}/pizza_sounds.tar.gz -C ${LOCALBASE}/share/freeswitch/sounds
X @${CHOWN} -R freeswitch:freeswitch /$(LOCALBASE)/share/freeswitch/scripts
X @${CHOWN} -R freeswitch:freeswitch /$(LOCALBASE)/share/freeswitch/grammar
X @${CHOWN} -R freeswitch:freeswitch /$(LOCALBASE)/share/freeswitch/sounds
X
X.include <bsd.port.mk>
fbe7ee448e90adbbce26752d0a254c89
exit
--- fspizza.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
------------------------------
Message: 2
Date: Sat, 3 Apr 2010 21:30:23 -0500 (CDT)
From: Eric F Crist <ecr...@secure-computing.net>
Subject: ports/145371: Update to fusionpbx
To: FreeBSD-gn...@FreeBSD.org
Cc: Richard Neese <r.n...@gmail.com>
Message-ID: <201004040230....@cartman.secure-computing.net>
>Number: 145371
>Category: ports
>Synopsis: Update to fusionpbx
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 04 02:30:07 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Eric F Crist
>Release: FreeBSD 8.0-RELEASE amd64
>Organization:
Secure Computing Networks
FusionPBX
>Environment:
System: FreeBSD cartman.secure-computing.net 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:02:08 UTC 2009 ro...@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
Update to fusionpbx port.
>How-To-Repeat:
>Fix:
--- fusionpbx.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# fusionpbx
# fusionpbx/files
# fusionpbx/files/pkg-message.in
# fusionpbx/distinfo
# fusionpbx/pkg-descr
# fusionpbx/Makefile
#
echo c - fusionpbx
mkdir -p fusionpbx > /dev/null 2>&1
echo c - fusionpbx/files
mkdir -p fusionpbx/files > /dev/null 2>&1
echo x - fusionpbx/files/pkg-message.in
sed 's/^X//' >fusionpbx/files/pkg-message.in << 'fd1f0e329bc066bc03bd85ebebe23612'
X
X *************************************************
X * Attention Freebsd FusionPBX Users *
X * *
X * Please do the fallowing after install *
X *************************************************
X
X ALL USERS:
X ----------
X If you use any other databes then the default sqlite3
X do the following for PostgreSQL and MySQL.
X
X Setup PostgreSQL:
X -----------------
X add postgresql_enable="YES" to /etc/rc.conf
X initdb -D /usr/local/pgsql/data
X postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
X su pgsql
X type: createuser -s -e FusionPBX
X psql -d FusionPBX -U FusionPBX
X alter user FusionPBX with password 'pbx2010';
X exit back to root
X cd /usr/local/etc/rc.d
X ./postgresql restart
X cd /usr/local/www/fusionpbx/includes/install/sql
X su pgsql
X psql -f pgsql.sql FusionPBX
X exit
X
X Setup MySQL:
X ------------
X cd /usr/ports/database/mysql54-server
X make install && make clean
X
X LIGHTTPD USERS:
X ---------------
X add lighttpd_enable="YES" to /etc/rc.conf
X
X APACHE22:
X ---------
X apache22_enable="YES" to /etc/rc.donf
X
X FusionPBX Apache config file add in
X
X /usr/local/etc/apache22/Includes/fusionpbx.conf
X
X # This line is unnecessary in many cases
X Alias /fusionpbx/ "/usr/local/www/fusionpbx/"
X
X <Directory "/usr/local/www/fusionpbx/">
X Options All
X AllowOverride All
X Order allow,deny
X Allow from all
X </Directory>
X
X add php to apache
X
X /usr/local/etc/apache22/Includes/php-inc.conf
X
X DirectoryIndex index.php
X AddType application/x-httpd-php .php
X AddType application/x-httpd-php-source .phps
X
X Last thing:
X -----------
X edit /etc/group and add :www to the freeswitch group and save
X
X ------------
X Now Reboot.
X ------------
X
X After wich point your browser to the following
X
X URL: http://ip.of.you.machine/fusionpbx/
X
X and follow the installer instructions.
fd1f0e329bc066bc03bd85ebebe23612
echo x - fusionpbx/distinfo
sed 's/^X//' >fusionpbx/distinfo << '318d58b2d5061eaf4a0e6ed54202fd37'
XMD5 (fusionpbx-1.0.tar.gz) = 91b18f6d26b68f1297cba0b1d47c2de7
XSHA256 (fusionpbx-1.0.tar.gz) = 379de43c80b0a31c83d22c509910da70c58e552d58cfef0826679f333fb30fda
XSIZE (fusionpbx-1.0.tar.gz) = 1939773
318d58b2d5061eaf4a0e6ed54202fd37
echo x - fusionpbx/pkg-descr
sed 's/^X//' >fusionpbx/pkg-descr << '953605280310c8255f3e617e50f7c199'
XFusionPBX is a OpenSorce php5 based frontend web gui for freeswitch.
X
XWWW: http://www.fusionpbx.com
953605280310c8255f3e617e50f7c199
echo x - fusionpbx/Makefile
sed 's/^X//' >fusionpbx/Makefile << 'e5126df063315ba963cd5a402fda4d88'
X# Ports collection makefile for: fusionpbx
X# Date created: October 28, 2009
X# Whom: Richard Neese <r.n...@gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME= fusionpbx
XPORTVERSION= 1.0
XCATEGORIES= www
XMASTER_SITES= http://www.fusionpbx.com/downloads/
XDISTNAME= ${PORTNAME}-${PORTVERSION}
X
XMAINTAINER= ecr...@secure-computing.net
XCOMMENT= Fusionpbx php5 webgui for FreeSwitch
X
XRUN_DEPENDS= ${LOCALBASE}/bin/freeswitch:${PORTSDIR}/net/freeswitch
XUSE_SQLITE+= yes
XUSE_PHP= dom filter ftp json pcre pdo pdo_sqlite posix session simplexml \
X xml xmlreader xmlwriter xmlrpc xsl zlib
XDEFAULT_PHP_VER=5
XIGNORE_WITH_PHP=4
XWANT_PHP_CLI= yes
X
XWRKSRC= ${WRKDIR}/${PORTNAME:L}
XNO_BUILD= yes
X
XSUB_FILES= pkg-message
X
XOPTIONS= POSTGRES "Install POSTGRESQL Server" off \
X MYSQL "Install MySQL Server" off \
X LIGHTTPD "Install LIGHTTPD Web Server" off \
X APACHE22 "Install APACHE22 Web Server" on
X
X.include <bsd.port.options.mk>
X
X.if !defined(WITH_POSTGRES)
XPLIST_SUB+= WITH_POSTGRES="@comment "
X.else
XPLIST_SUB+= WITH_POSTGRES=""
XRUN_DEPENDS+= postgresql84-server:${PORTSDIR}/databases/postgresql84-server \
X php5-pgsql:${PORTSDIR}/databases/php5-pgsql \
X php5-pdo_pgsql:${PORTSDIR}/databases/php5-pdo_pgsql
X.endif
X
X.if !defined(WITH_MYSQL)
XPLIST_SUB+= WITH_MYSQL="@comment "
X.else
XUSE_MYSQL= server
XWANT_MYSQL_VER= 54
XPLIST_SUB+= WITH_MYSQL=""
XRUN_DEPENDS+= php5-mysql:${PORTSDIR}/databases/php5-mysql \
X php5-pdo_mysql:${PORTSDIR}/databases/php5-pdo_mysql
X.endif
X
X.if !defined(WITH_LIGHTTPD)
XPLIST_SUB+= WITH_LIGHTTPD="@comment "
X.else
XPLIST_SUB+= WITH_LIGHTTPD=""
XRUN_DEPENDS+= lighttpd:${PORTSDIR}/www/lighttpd
X.endif
X
X.if !defined(WITH_APACHE22)
XPLIST_SUB+= WITH_APACHE22="@comment "
X.else
XPLIST_SUB+= WITH_APACHE22=""
XUSE_APACHE= 22+
X.endif
X
Xdo-install:
X ${MKDIR} ${WWWDIR}
X ${MKDIR} /var/db/fusionpbx
X cd ${WRKSRC}; ${FIND} . \
X | ${CPIO} -pdm -R ${WWWOWN}:${WWWGRP} ${WWWDIR}
X ${CHMOD} -R 664 ${WWWDIR}
X cd ${WRKDIR}/;
X
Xpost-install:
X @${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
e5126df063315ba963cd5a402fda4d88
exit
--- fusionpbx.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
------------------------------
Message: 3
Date: Sun, 4 Apr 2010 03:49:38 GMT
From: lin...@FreeBSD.org
Subject: Re: ports/145337: net/openldap24-server: Linking OpenLDAP
ports with OpenSSL from ports
To: lin...@FreeBSD.org, freebsd-p...@FreeBSD.org,
del...@FreeBSD.org
Message-ID: <201004040349....@freefall.freebsd.org>
Old Synopsis: Linking OpenLDAP ports with OpenSSL from ports
New Synopsis: net/openldap24-server: Linking OpenLDAP ports with OpenSSL from ports
Responsible-Changed-From-To: freebsd-ports-bugs->delphij
Responsible-Changed-By: linimon
Responsible-Changed-When: Sun Apr 4 03:47:24 UTC 2010
Responsible-Changed-Why:
Fix synopsis and assign.
http://www.freebsd.org/cgi/query-pr.cgi?pr=145337
------------------------------
Message: 4
Date: Sun, 4 Apr 2010 04:32:17 GMT
From: "Joseph S. Atkinson" <j...@wickedmachine.net>
Subject: ports/145372: Fix installing of linux gtk2 libs for
multimedia/linux-huludesktop
To: freebsd-gn...@FreeBSD.org
Message-ID: <201004040432....@www.freebsd.org>
>Number: 145372
>Category: ports
>Synopsis: Fix installing of linux gtk2 libs for multimedia/linux-huludesktop
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 04 04:40:03 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Joseph S. Atkinson
>Release:
>Organization:
>Environment:
>Description:
Error of omission. The linux flashplayer port does not bring in gtk2 depends needed by Hulu Desktop. Therefore, we must do this ourselves.
This bumps PORTREVISION to fix current installs that might not be working.
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
diff -ru /usr/ports/multimedia/linux-huludesktop/Makefile linux-huludesktop/Makefile
--- /usr/ports/multimedia/linux-huludesktop/Makefile 2010-03-13 07:08:33.000000000 -0500
+++ linux-huludesktop/Makefile 2010-04-03 23:32:27.000000000 -0400
@@ -7,6 +7,7 @@
PORTNAME= huludesktop
PORTVERSION= 0.9.7
+PORTREVISION= 1
CATEGORIES= multimedia linux
MASTER_SITES= http://download.hulu.com/
PKGNAMEPREFIX= linux-
@@ -20,6 +21,7 @@
LINUX_RPM_ARCH= i386
USE_LINUX= f10
+USE_LINUX_APPS= gtk2
NO_BUILD= yes
RPM2CPIO?= ${LOCALBASE}/bin/rpm2cpio
>Release-Note:
>Audit-Trail:
>Unformatted:
------------------------------
Message: 5
Date: Sun, 4 Apr 2010 05:06:30 GMT
From: Nakata Maho <ma...@FreeBSD.org>
Subject: ports/145373: japanese/font-ipa unfetchable
To: freebsd-gn...@FreeBSD.org
Message-ID: <201004040506....@www.freebsd.org>
>Number: 145373
>Category: ports
>Synopsis: japanese/font-ipa unfetchable
>Confidential: no
>Severity: non-critical
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 04 05:10:04 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Nakata Maho
>Release: 8.0-RELEASE-p2
>Organization:
FreeBSD org
>Environment:
FreeBSD ravel8amd64.private.org 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Sat Jan 9 16:14:31 JST 2010 ma...@ravel8amd64.private.org:/usr/src/sys/amd64/compile/GENERIC amd64
>Description:
japanese/font-ipa unfetchable; same file name but different contents.
the original archive seems to have been removed from the original site.
>How-To-Repeat:
% cd /usr/ports/japanese/font-ipa
% make
===> Vulnerability check disabled, database not found
=> IPAfont00302.zip doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://info.openlab.ipa.go.jp/ipafont/fontdata/.
fetch: http://info.openlab.ipa.go.jp/ipafont/fontdata/IPAfont00302.zip: size mismatch: expected 20113208, actual 20113211
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
------------------------------
Message: 6
Date: Sun, 4 Apr 2010 05:10:15 GMT
From: ed...@FreeBSD.org
Subject: Re: ports/145373: japanese/font-ipa unfetchable
To: ed...@FreeBSD.org, freebsd-p...@FreeBSD.org, h...@FreeBSD.org
Message-ID: <201004040510....@freefall.freebsd.org>
Synopsis: japanese/font-ipa unfetchable
Responsible-Changed-From-To: freebsd-ports-bugs->hrs
Responsible-Changed-By: edwin
Responsible-Changed-When: Sun Apr 4 05:10:15 UTC 2010
Responsible-Changed-Why:
Over to maintainer (via the GNATS Auto Assign Tool)
http://www.freebsd.org/cgi/query-pr.cgi?pr=145373
------------------------------
Message: 7
Date: Sun, 4 Apr 2010 08:37:54 GMT
From: Gvozdikov Veniamin <g.ven...@googlemail.com>
Subject: ports/145374: Update port: audio/clementine-player
To: freebsd-gn...@FreeBSD.org
Message-ID: <201004040837....@www.freebsd.org>
>Number: 145374
>Category: ports
>Synopsis: Update port: audio/clementine-player
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 04 08:40:05 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Gvozdikov Veniamin
>Release: FreeBSD 8.0-STABLE
>Organization:
>Environment:
FreeBSD zlobook.local 8.0-STABLE FreeBSD 8.0-STABLE #6: Sat Mar 6 11:56:08 KRAT 2010 ro...@zlobook.local:/usr/obj/usr/src/sys/zlobook_amd64 amd64
>Description:
Changed master sites from google code.
>How-To-Repeat:
>Fix:
diff -ruN clementine-player.old/Makefile clementine-player/Makefile
--- clementine-player.old/Makefile 2010-04-04 16:31:15.000000000 +0800
+++ clementine-player/Makefile 2010-04-04 16:30:47.000000000 +0800
@@ -7,9 +7,11 @@
PORTNAME= clementine
PORTVERSION= 0.2
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= GOOGLE_CODE
PKGNAMESUFFIX= -player
+DISTNAME= ${PORTNAME}_${PORTVERSION}-1
MAINTAINER= g.ven...@googlemail.com
COMMENT= A cross-platform music player based on Amarok 1.4
@@ -20,6 +22,8 @@
xine.1:${PORTSDIR}/multimedia/libxine
BUILD_DEPENDS= ${LOCALBASE}/include/boost/shared_ptr.hpp:${PORTSDIR}/devel/boost-libs
+PROJECTHOST= ${PORTNAME}${PKGNAMESUFFIX}
+
USE_CMAKE= yes
USE_ICONV= yes
USE_QT_VER= 4
@@ -28,4 +32,6 @@
USE_GCC= 4.2+
INSTALLS_ICONS= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
.include <bsd.port.mk>
diff -ruN clementine-player.old/distinfo clementine-player/distinfo
--- clementine-player.old/distinfo 2010-04-04 16:31:15.000000000 +0800
+++ clementine-player/distinfo 2010-04-04 16:16:52.000000000 +0800
@@ -1,3 +1,3 @@
-MD5 (clementine-0.2.tar.gz) = c5f39de4998e1d012f3795c108ad39fd
-SHA256 (clementine-0.2.tar.gz) = 9c04956dfe8ec244b50ffc2bf43047c616ec1f580ebd0c2f862237bdf740114a
-SIZE (clementine-0.2.tar.gz) = 3647928
+MD5 (clementine_0.2-1.tar.gz) = bf89adb26808fec6201499375de95507
+SHA256 (clementine_0.2-1.tar.gz) = 2e78c09c90c86ec46246fa0183a7bfd32b509fd891e4c28d6f73f1790e19d785
+SIZE (clementine_0.2-1.tar.gz) = 3669160
>Release-Note:
>Audit-Trail:
>Unformatted:
------------------------------
Message: 8
Date: Sun, 4 Apr 2010 08:58:08 GMT
From: ite...@FreeBSD.org
Subject: Re: ports/145374: Update port: audio/clementine-player
To: ite...@FreeBSD.org, freebsd-p...@FreeBSD.org,
ite...@FreeBSD.org
Message-ID: <201004040858....@freefall.freebsd.org>
Synopsis: Update port: audio/clementine-player
Responsible-Changed-From-To: freebsd-ports-bugs->itetcu
Responsible-Changed-By: itetcu
Responsible-Changed-When: Sun Apr 4 08:58:08 UTC 2010
Responsible-Changed-Why:
Grab, maybe it will fix the fetch problem reported by QAT
http://www.freebsd.org/cgi/query-pr.cgi?pr=145374
------------------------------
Message: 9
Date: Sun, 4 Apr 2010 11:06:25 +0200 (CEST)
From: Klaus T Aehlig <aeh...@linta.de>
Subject: ports/145375: www/uzbl [maintainer][patch] update to version
2010.04.03
To: FreeBSD-gn...@FreeBSD.org
Message-ID: <201004040906...@kleene.linta.de>
>Number: 145375
>Category: ports
>Synopsis: www/uzbl [maintainer][patch] update to version 2010.04.03
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 04 09:10:06 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Klaus T Aehlig
>Release: FreeBSD 7.3-STABLE i386
>Organization:
>Environment:
System: FreeBSD kleene.linta.de 7.3-STABLE FreeBSD 7.3-STABLE #11: Sun Mar 28 16:02:20 CEST 2010 aeh...@kleene.linta.de:/usr/obj/usr/src/sys/KLEENE i386
>Description:
Update www/uzbl to version as of Apr 3, 2010
>How-To-Repeat:
>Fix:
Apply the following patch. THEN REMOVE files/patch-examples__config__config
as that patch is already included upstream.
--- uzbl.patch begins here ---
Only in /usr/ports/www/uzbl/: CVS
diff -ru /usr/ports/www/uzbl/Makefile uzbl/Makefile
--- /usr/ports/www/uzbl/Makefile 2010-04-04 10:50:36.000000000 +0200
+++ uzbl/Makefile 2010-04-04 10:57:26.000000000 +0200
@@ -7,7 +7,6 @@
PORTNAME= uzbl
DISTVERSION= 0.0.0.${GITDATE}
-PORTREVISION= 2
CATEGORIES= www
MASTER_SITES= http://www.linta.de/distfiles/
@@ -20,8 +19,8 @@
USE_LDCONFIG= yes
USE_GMAKE= yes
-GITDATE= 2010.03.14
-GITVERSION= 38ef86e
+GITDATE= 2010.04.03
+GITVERSION= ae15d25
WRKSRC= ${WRKDIR}/Dieterbe-uzbl-${GITVERSION}
@@ -43,6 +42,8 @@
${WRKSRC}/examples/config/config \
${WRKSRC}/src/uzbl-browser \
${WRKSRC}/examples/data/scripts/uzbl-event-manager
+ @${REINPLACE_CMD} -e "s|/usr/share/uzbl|${DATADIR}|" \
+ ${WRKSRC}/examples/data/scripts/uzbl-tabbed
post-build:
@${FIND} ${WRKSRC} \( -name "*.orig" -or -name "*.bak" \) -exec ${RM} -f {} \;
@@ -65,10 +66,10 @@
.endfor
.endif
.if !defined(NOPORTDATA)
- ${MKDIR} ${DATADIR}/examples/data/forms ${DATADIR}/examples/config
+ ${MKDIR} ${DATADIR}/examples/data/dforms ${DATADIR}/examples/config
.for f in config/cookies \
data/bookmarks \
- data/forms/bbs.archlinux.org \
+ data/dforms/bbs.archlinux.org \
data/style.css data/uzbl.png
${INSTALL_DATA} ${WRKSRC}/examples/${f} ${DATADIR}/examples/${f}
.endfor
diff -ru /usr/ports/www/uzbl/distinfo uzbl/distinfo
--- /usr/ports/www/uzbl/distinfo 2010-03-15 23:49:17.000000000 +0100
+++ uzbl/distinfo 2010-04-04 10:56:05.000000000 +0200
@@ -1,3 +1,3 @@
-MD5 (uzbl-0.0.0.2010.03.14.tar.gz) = 56aedfe19f336aae31c51eaabd57a7e9
-SHA256 (uzbl-0.0.0.2010.03.14.tar.gz) = 6bd65bcb4aeef63f7b21bd910e2fd5ba683d727f4ff20a99d73541a033c61208
-SIZE (uzbl-0.0.0.2010.03.14.tar.gz) = 142818
+MD5 (uzbl-0.0.0.2010.04.03.tar.gz) = 70487d59dd5a1e5a1eca36b976800128
+SHA256 (uzbl-0.0.0.2010.04.03.tar.gz) = 3aa1412dba013a8db0261b2c0773c94e121aeb98c9d03dce4ea049329f4abacb
+SIZE (uzbl-0.0.0.2010.04.03.tar.gz) = 134854
Only in /usr/ports/www/uzbl/files: CVS
Only in /usr/ports/www/uzbl/files: patch-examples__config__config
--- uzbl.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
------------------------------
Message: 10
Date: Sun, 4 Apr 2010 11:22:53 GMT
From: Eric Freeman <freebs...@chillibear.com>
Subject: ports/145378: new port: devel/p5-file-touch "module supplying
'touch' facility to Perl"
To: freebsd-gn...@FreeBSD.org
Message-ID: <201004041122....@www.freebsd.org>
>Number: 145378
>Category: ports
>Synopsis: new port: devel/p5-file-touch "module supplying 'touch' facility to Perl"
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 04 11:30:09 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Eric Freeman
>Release: 7.2
>Organization:
>Environment:
FreeBSD localhost 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Fri May 1 07:18:07 UTC 2009 ro...@driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
Quick Perl module port of File::Touch.
Allows for the user to update access and modification timestamps, creating nonexistent files where necessary, essentially like the 'touch' command.
http://search.cpan.org/dist/File-Touch/Touch.pm
>How-To-Repeat:
n/a
>Fix:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# p5-File-Touch
# p5-File-Touch/Makefile
# p5-File-Touch/pkg-descr
# p5-File-Touch/distinfo
#
echo c - p5-File-Touch
mkdir -p p5-File-Touch > /dev/null 2>&1
echo x - p5-File-Touch/Makefile
sed 's/^X//' >p5-File-Touch/Makefile << 'ce9e4a8d051ec941ecff279f8bbae013'
X# Ports collection makefile for: devel-p5-File-Touch
X# Date created: 03 April 2010
X# Whom: Eric Freeman <freebs...@chillibear.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME= File-Touch
XPORTVERSION= 0.08
XCATEGORIES= devel perl5
XMASTER_SITES= CPAN
XMASTER_SITE_SUBDIR= File
XPKGNAMEPREFIX= p5-
X
XMAINTAINER= freebs...@chillibear.com
XCOMMENT= Module to 'touch' files
X
XPERL_CONFIGURE= yes
X
XMAN3= File::Touch.3
X
X.include <bsd.port.mk>
ce9e4a8d051ec941ecff279f8bbae013
echo x - p5-File-Touch/pkg-descr
sed 's/^X//' >p5-File-Touch/pkg-descr << 'a4ed27019f3ebeb963a9c1a58999ff48'
XUpdate access and modification timestamps,
Xcreating nonexistent files where necessary.
X
XWWW: http://search.cpan.org/dist/File-Touch/Touch.pm
a4ed27019f3ebeb963a9c1a58999ff48
echo x - p5-File-Touch/distinfo
sed 's/^X//' >p5-File-Touch/distinfo << '22828960c7ab87c32a41ccb7bd8be072'
XMD5 (File-Touch-0.08.tar.gz) = 50b9d26f13c5a1a0c9131124cd924e98
XSHA256 (File-Touch-0.08.tar.gz) = 2b37f129ba63523027ed636f5ccde8db892e5f6bbb7401077378fddf78a7592c
XSIZE (File-Touch-0.08.tar.gz) = 3157
22828960c7ab87c32a41ccb7bd8be072
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
------------------------------
End of freebsd-ports-bugs Digest, Vol 319, Issue 18
***************************************************