wok-6.x rev 20689

Add imapbox
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jan 30 23:42:44 2019 +0100 (2019-01-30)
parents 3232bb723678
children ad40252740a7
files Qt4-qca-ossl/receipt gecko-mediaplayer/receipt gitso/receipt imapbox/receipt imapbox/stuff/slitaz.patch libQtMimeTypes-dev/receipt libQtMimeTypes/receipt openbox-theme-blinder/receipt p2c/receipt qtwitter/receipt slim-theme-japan-art/receipt smx-dev/receipt smx/receipt superswitcher/receipt ttf-inconsolata-dz/receipt verbiste/receipt vidalia/receipt wepbuster/receipt
line diff
     1.1 --- a/Qt4-qca-ossl/receipt	Tue Jan 29 18:11:07 2019 +0100
     1.2 +++ b/Qt4-qca-ossl/receipt	Wed Jan 30 23:42:44 2019 +0100
     1.3 @@ -9,7 +9,7 @@
     1.4  MAINTAINER="ben@seawolfsanctuary.com"
     1.5  LICENSE="LGPL2.1"
     1.6  TARBALL="$NAME-$VERSION.tar.bz2"
     1.7 -WEB_SITE="http://delta.affinix.com/$NAME"
     1.8 +WEB_SITE="https://github.com/highfidelity/qca/tree/master/plugins/qca-ossl"
     1.9  WGET_URL="http://delta.affinix.com/download/qca/$MAJORVERSION/plugins/$TARBALL"
    1.10  
    1.11  DEPENDS="glibc-locale libQtCore libQtGui libQtNetwork libQtSvg libQtXml \
     2.1 --- a/gecko-mediaplayer/receipt	Tue Jan 29 18:11:07 2019 +0100
     2.2 +++ b/gecko-mediaplayer/receipt	Wed Jan 30 23:42:44 2019 +0100
     2.3 @@ -7,7 +7,7 @@
     2.4  MAINTAINER="jozee@slitaz.org"
     2.5  LICENSE="GPL2"
     2.6  TARBALL="$PACKAGE-$VERSION.tar.gz"
     2.7 -WEB_SITE="https://code.google.com/archive/p/gecko-mediaplayer"
     2.8 +WEB_SITE="https://sites.google.com/site/kdekorte2/gecko-mediaplayer"
     2.9  WGET_URL="http://gecko-mediaplayer.googlecode.com/files/$TARBALL"
    2.10  TAGS="player audio video browser"
    2.11  
     3.1 --- a/gitso/receipt	Tue Jan 29 18:11:07 2019 +0100
     3.2 +++ b/gitso/receipt	Wed Jan 30 23:42:44 2019 +0100
     3.3 @@ -7,7 +7,7 @@
     3.4  MAINTAINER="pascal.bellard@slitaz.org"
     3.5  LICENSE="GPL3"
     3.6  TARBALL="${PACKAGE}_${VERSION}_src.tar.bz2"
     3.7 -WEB_SITE="https://code.google.com/archive/p/gitso/"
     3.8 +WEB_SITE="https://github.com/AustP/Gitso"
     3.9  WGET_URL="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/gitso/$TARBALL"
    3.10  CONFIG_FILES="/etc/gitso-hosts"
    3.11  
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/imapbox/receipt	Wed Jan 30 23:42:44 2019 +0100
     4.3 @@ -0,0 +1,28 @@
     4.4 +# SliTaz package receipt.
     4.5 +
     4.6 +PACKAGE="imapbox"
     4.7 +GITHASH="c7265e34b03ee41963aad243055a5508c9e88fc9"
     4.8 +VERSION=${GITHASH:0:7}
     4.9 +CATEGORY="network"
    4.10 +SHORT_DESC="Dump imap inbox in a backupable format: html, json and attachements"
    4.11 +MAINTAINER="pascal.bellard@slitaz.org"
    4.12 +LICENSE="MIT"
    4.13 +TARBALL="$PACKAGE-$VERSION.zip"
    4.14 +WEB_SITE="https://github.com/polo2ro/imapbox"
    4.15 +WGET_URL="https://codeload.github.com/polo2ro/imapbox/zip/$GITHASH"
    4.16 +
    4.17 +DEPENDS="python-chardet python-six"
    4.18 +SUGGESTED="python-pdfkit"
    4.19 +
    4.20 +# Rules to configure and make the package.
    4.21 +compile_rules()
    4.22 +{
    4.23 +	patch -p1 < $stuff/slitaz.patch
    4.24 +}
    4.25 +
    4.26 +# Rules to gen a SliTaz package suitable for Tazpkg.
    4.27 +genpkg_rules()
    4.28 +{
    4.29 +	mkdir -p $fs/usr/share/imapbox
    4.30 +	cp $src/* $fs/usr/share/imapbox
    4.31 +}
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/imapbox/stuff/slitaz.patch	Wed Jan 30 23:42:44 2019 +0100
     5.3 @@ -0,0 +1,254 @@
     5.4 +--- imapbox/mailboxresource.py
     5.5 ++++ imapbox/mailboxresource.py
     5.6 +@@ -9,6 +9,8 @@
     5.7 + import hashlib
     5.8 + from message import Message
     5.9 + import datetime
    5.10 ++import time
    5.11 ++import rfc822
    5.12 + 
    5.13 + 
    5.14 + 
    5.15 +@@ -16,10 +18,22 @@
    5.16 +     """Operations on a mailbox"""
    5.17 + 
    5.18 +     def __init__(self, host, port, username, password, remote_folder):
    5.19 ++        if port == '143':
    5.20 ++	    self.mailbox = imaplib.IMAP4(host, port)                                                                                      
    5.21 ++        elif port == '993':                                                                                                                 
    5.22 +         self.mailbox = imaplib.IMAP4_SSL(host, port)
    5.23 +         self.mailbox.login(username, password)
    5.24 +         self.mailbox.select(remote_folder, readonly=True)
    5.25 + 
    5.26 ++        if remote_folder=='INBOX':
    5.27 ++            self.remote_folder=''
    5.28 ++        else
    5.29 ++            r_f=re.sub('INBOX','',remote_folder)
    5.30 ++            if re.findall('^\.',r_f):
    5.31 ++                self.remote_folder=re.sub('\.','/',rf)
    5.32 ++            else:
    5.33 ++                self.remote_folder='/'+r_f
    5.34 ++
    5.35 +     def copy_emails(self, days, local_folder, wkhtmltopdf):
    5.36 + 
    5.37 +         n_saved = 0
    5.38 +@@ -50,9 +64,19 @@
    5.39 + 
    5.40 + 
    5.41 +     def getEmailFolder(self, msg, data):
    5.42 +-        if msg['Message-Id']:
    5.43 +-            foldername = re.sub('[^a-zA-Z0-9_\-\.()\s]+', '', msg['Message-Id'])
    5.44 ++        if msg['To'] and re.findall('Sent',self.remote_folder):
    5.45 ++            foldername = re.findall("<.*>", msg['To'])
    5.46 ++            if foldername:
    5.47 ++                foldername = re.sub('[\<\>]+', '', foldername[0])
    5.48 +         else:
    5.49 ++                foldername=msg['To']
    5.50 ++        elif msg['From']:
    5.51 ++	    foldername = re.findall("<.*>", msg['From'])
    5.52 ++	    if foldername:
    5.53 ++		foldername = re.sub('[\<\>]+', '', foldername[0])
    5.54 ++	    else:
    5.55 ++		foldername=msg['From']
    5.56 ++        else:
    5.57 +             foldername = hashlib.sha224(data).hexdigest()
    5.58 + 
    5.59 +         year = 'None'
    5.60 +@@ -62,20 +86,33 @@
    5.61 +                 year = match.group(1)
    5.62 + 
    5.63 + 
    5.64 +-        return os.path.join(self.local_folder, year, foldername)
    5.65 ++        return os.path.join(self.local_folder+self.remote_folder, self.normalizeDate(msg['Date'])+'_'+foldername)
    5.66 + 
    5.67 ++    def normalizeDate(self, datestr):
    5.68 ++        t = email.utils.parsedate_tz(datestr)
    5.69 ++        timeval = time.mktime(t[:-1])
    5.70 ++        date = email.utils.formatdate(timeval, True)
    5.71 ++        utc = time.gmtime(email.utils.mktime_tz(t))
    5.72 ++#        rfc2822 = '{} {:+03d}00'.format(date[:-6], t[9]//3600)
    5.73 ++        iso8601 = time.strftime('%Y%m%dT%H%M%SZ', utc)
    5.74 + 
    5.75 ++        return (iso8601)
    5.76 + 
    5.77 ++
    5.78 +     def saveEmail(self, data):
    5.79 +         for response_part in data:
    5.80 +             if isinstance(response_part, tuple):
    5.81 +-                msg = email.message_from_string(response_part[1].decode("utf-8"))
    5.82 ++                try:
    5.83 ++                    msg = email.message_from_string(re.sub('^>', '', response_part[1]).decode("utf-8")) # supprime '>' dans l'email
    5.84 ++                except UnicodeError:
    5.85 ++                    msg = email.message_from_string(re.sub('^>', '', response_part[1]).decode('latin1').encode('utf-8'))  # supprime '>' dans l'email
    5.86 +                 directory = self.getEmailFolder(msg, data[0][1])
    5.87 + 
    5.88 +                 if os.path.exists(directory):
    5.89 +                     return False
    5.90 + 
    5.91 +                 os.makedirs(directory)
    5.92 ++                os.utime(directory,(time.mktime(rfc822.parsedate(msg['Date'])), time.mktime(rfc822.parsedate(msg['Date']))))
    5.93 + 
    5.94 +                 try:
    5.95 +                     message = Message(directory, msg)
    5.96 +@@ -86,9 +123,12 @@
    5.97 +                     if self.wkhtmltopdf:
    5.98 +                         message.createPdfFile(self.wkhtmltopdf)
    5.99 + 
   5.100 ++                    os.utime(directory,(time.mktime(rfc822.parsedate(msg['Date'])), time.mktime(rfc822.parsedate(msg['Date']))))
   5.101 ++
   5.102 +                 except Exception as e:
   5.103 +                     # ex: Unsupported charset on decode
   5.104 +                     print(directory)
   5.105 ++		    os.utime(directory,(time.mktime(rfc822.parsedate(msg['Date'])), time.mktime(rfc822.parsedate(msg['Date']))))
   5.106 +                     if hasattr(e, 'strerror'):
   5.107 +                         print("MailboxClient.saveEmail() failed:", e.strerror)
   5.108 +                     else:
   5.109 +--- imapbox/message.py
   5.110 ++++ imapbox/message.py
   5.111 +@@ -15,6 +15,8 @@
   5.112 + import cgi
   5.113 + import time
   5.114 + import pkgutil
   5.115 ++import rfc822
   5.116 ++import sys
   5.117 + 
   5.118 + from six.moves import html_parser
   5.119 + 
   5.120 +@@ -82,14 +84,15 @@
   5.121 +         except email.Errors.HeaderParseError:
   5.122 +             # This already append in email.base64mime.decode()
   5.123 +             # instead return a sanitized ascii string
   5.124 +-            return header_text.encode('ascii', 'replace').decode('ascii')
   5.125 ++            return header_text.encode('ascii', 'replace').decode(default)
   5.126 +         else:
   5.127 +             for i, (text, charset) in enumerate(headers):
   5.128 +                 headers[i]=text
   5.129 +                 if charset:
   5.130 +-                    headers[i]=str(text, charset)
   5.131 ++                    text = unicode(text,charset)
   5.132 ++                    headers[i]=text
   5.133 +                 else:
   5.134 +-                    headers[i]=str(text)
   5.135 ++                    headers[i]=text.decode('utf-8')
   5.136 +             return u"".join(headers)
   5.137 + 
   5.138 + 
   5.139 +@@ -102,21 +105,27 @@
   5.140 +                 # use the same for both and see later
   5.141 +                 name=addr
   5.142 + 
   5.143 ++            headers=decode_header(name)
   5.144 +             try:
   5.145 +-                # address must be ascii only
   5.146 +-                addr=addr.encode('ascii')
   5.147 ++                addr = addr.encode("ascii")
   5.148 +             except UnicodeError:
   5.149 +-                addr=''
   5.150 ++                addr = ''
   5.151 +             else:
   5.152 +                 # address must match adress regex
   5.153 +                 if not email_address_re.match(addr.decode("utf-8")):
   5.154 +                     addr=''
   5.155 +-            addrs[i]=(self.getmailheader(name), addr.decode("utf-8"))
   5.156 ++            addrs[i]=(self.getmailheader(name), "utf-8")
   5.157 +         return addrs
   5.158 + 
   5.159 +     def getSubject(self):
   5.160 +-        if not hasattr(self, 'subject'):
   5.161 +-            self.subject = self.getmailheader(self.msg.get('Subject', ''))
   5.162 ++#        if not hasattr(self, 'subject'):
   5.163 ++#            self.subject = self.getmailheader(self.msg.get('Subject'),'')
   5.164 ++        headers=decode_header(self.msg.get('Subject'))
   5.165 ++        for i, (text, charset) in enumerate(headers):
   5.166 ++            if charset:
   5.167 ++                self.subject = unicode(text,charset)
   5.168 ++            else:
   5.169 ++                self.subject=text.decode('utf-8')
   5.170 +         return self.subject
   5.171 + 
   5.172 +     def getFrom(self):
   5.173 +@@ -172,6 +181,7 @@
   5.174 +             json_file.write(data)
   5.175 + 
   5.176 +             json_file.close()
   5.177 ++            os.utime('%s/metadata.json' %(self.directory),(time.mktime(rfc822.parsedate(self.msg['Date'])), time.mktime(rfc822.parsedate(self.msg['Date']))))
   5.178 + 
   5.179 + 
   5.180 + 
   5.181 +@@ -180,6 +190,7 @@
   5.182 +         f = gzip.open('%s/raw.eml.gz' %(self.directory), 'wb')
   5.183 +         f.write(data)
   5.184 +         f.close()
   5.185 ++        os.utime('%s/raw.eml.gz' %(self.directory),(time.mktime(rfc822.parsedate(self.msg['Date'])), time.mktime(rfc822.parsedate(self.msg['Date']))))
   5.186 + 
   5.187 + 
   5.188 +     def getPartCharset(self, part):
   5.189 +@@ -192,14 +203,23 @@
   5.190 +         if not hasattr(self, 'text_content'):
   5.191 +             self.text_content = ''
   5.192 +             for part in parts:
   5.193 ++                raw_content_0 = part.get_payload()
   5.194 +                 raw_content = part.get_payload(decode=True)
   5.195 +                 charset = self.getPartCharset(part)
   5.196 +                 self.text_content += raw_content.decode(charset, "replace")
   5.197 ++                if charset!='utf-8' and self.text_content:
   5.198 ++                    try:
   5.199 ++                        self.text_content=self.text_content.encode('raw_unicode_escape').decode('utf-8')    #   Double-decoding unicode
   5.200 ++                    except UnicodeError:
   5.201 ++                        self.text_content=raw_content_0.decode('utf_8')
   5.202 +         return self.text_content
   5.203 + 
   5.204 + 
   5.205 +     def createTextFile(self, parts):
   5.206 +-        utf8_content = self.getTextContent(parts)
   5.207 ++        intro=''
   5.208 ++        if self.getSubject():
   5.209 ++            intro='==> ' + self.getSubject() + '\r\n\r\n'
   5.210 ++        utf8_content = intro + self.getTextContent(parts)
   5.211 +         with open(os.path.join(self.directory, 'message.txt'), 'wb') as fp:
   5.212 +             fp.write(bytearray(utf8_content, 'utf-8'))
   5.213 + 
   5.214 +@@ -208,9 +228,15 @@
   5.215 +             self.html_content = ''
   5.216 + 
   5.217 +             for part in parts:
   5.218 ++                raw_content_0 = part.get_payload()
   5.219 +                 raw_content = part.get_payload(decode=True)
   5.220 +                 charset = self.getPartCharset(part)
   5.221 +                 self.html_content += raw_content.decode(charset, "replace")
   5.222 ++                if charset!='utf-8' and self.html_content:
   5.223 ++                    try:
   5.224 ++                        self.html_content.encode('raw_unicode_escape').decode('utf-8')  #  Double-decoding unicode
   5.225 ++                    except UnicodeError:
   5.226 ++                        self.html_content=raw_content_0.decode('utf_8')
   5.227 + 
   5.228 +             m = re.search('<body[^>]*>(.+)<\/body>', self.html_content, re.S | re.I)
   5.229 +             if (m != None):
   5.230 +@@ -304,9 +330,11 @@
   5.231 + 
   5.232 +         if message_parts['text']:
   5.233 +             self.createTextFile(message_parts['text'])
   5.234 ++            os.utime('%s/message.txt' %(self.directory),(time.mktime(rfc822.parsedate(self.msg['Date'])), time.mktime(rfc822.parsedate(self.msg['Date']))))
   5.235 + 
   5.236 +         if message_parts['html']:
   5.237 +             self.createHtmlFile(message_parts['html'], message_parts['embed_images'])
   5.238 ++            os.utime('%s/message.html' %(self.directory),(time.mktime(rfc822.parsedate(self.msg['Date'])), time.mktime(rfc822.parsedate(self.msg['Date']))))
   5.239 + 
   5.240 +         if message_parts['files']:
   5.241 +             attdir = os.path.join(self.directory, 'attachments')
   5.242 +@@ -317,6 +345,8 @@
   5.243 +                     payload = afile[0].get_payload(decode=True)
   5.244 +                     if payload:
   5.245 +                         fp.write(payload)
   5.246 ++                os.utime('%s/attachments/%s' %(self.directory,afile[1]),(time.mktime(rfc822.parsedate(self.msg['Date'])), time.mktime(rfc822.parsedate(self.msg['Date']))))
   5.247 ++            os.utime('%s/attachments' %(self.directory),(time.mktime(rfc822.parsedate(self.msg['Date'])), time.mktime(rfc822.parsedate(self.msg['Date']))))
   5.248 + 
   5.249 + 
   5.250 +     def createPdfFile(self, wkhtmltopdf):
   5.251 +@@ -325,5 +355,6 @@
   5.252 +             pdf_path = os.path.join(self.directory, 'message.pdf')
   5.253 +             config = pdfkit.configuration(wkhtmltopdf=wkhtmltopdf)
   5.254 +             pdfkit.from_file(html_path, pdf_path, configuration=config)
   5.255 ++            os.utime('%s/message.pdf' %(self.directory),(time.mktime(rfc822.parsedate(self.msg['Date'])), time.mktime(rfc822.parsedate(self.msg['Date']))))
   5.256 +         else:
   5.257 +             print("Couldn't create PDF message, since \"pdfkit\" module isn't installed.")
     6.1 --- a/libQtMimeTypes-dev/receipt	Tue Jan 29 18:11:07 2019 +0100
     6.2 +++ b/libQtMimeTypes-dev/receipt	Wed Jan 30 23:42:44 2019 +0100
     6.3 @@ -7,7 +7,7 @@
     6.4  SHORT_DESC="A Qt4 backport of the Qt5 mimetypes API (development)"
     6.5  MAINTAINER="al.bobylev@gmail.com"
     6.6  LICENSE="LGPL2.1"
     6.7 -WEB_SITE="https://qt.gitorious.org/qtplayground/mimetypes"
     6.8 +WEB_SITE="https://web.archive.org/web/20121025184403/http://qt.gitorious.org/qtplayground/mimetypes"
     6.9  WANTED="libQtMimeTypes"
    6.10  
    6.11  DEPENDS="libQtMimeTypes pkg-config"
     7.1 --- a/libQtMimeTypes/receipt	Tue Jan 29 18:11:07 2019 +0100
     7.2 +++ b/libQtMimeTypes/receipt	Wed Jan 30 23:42:44 2019 +0100
     7.3 @@ -7,7 +7,7 @@
     7.4  SHORT_DESC="A Qt4 backport of the Qt5 mimetypes API"
     7.5  MAINTAINER="al.bobylev@gmail.com"
     7.6  LICENSE="LGPL2.1"
     7.7 -WEB_SITE="https://qt.gitorious.org/qtplayground/mimetypes"
     7.8 +WEB_SITE="https://web.archive.org/web/20121025184403/http://qt.gitorious.org/qtplayground/mimetypes"
     7.9  TARBALL="$PACKAGE-$BRANCH.tar.gz"
    7.10  WGET_URL="$WEB_SITE/archive/$BRANCH.tar.gz"
    7.11  
     8.1 --- a/openbox-theme-blinder/receipt	Tue Jan 29 18:11:07 2019 +0100
     8.2 +++ b/openbox-theme-blinder/receipt	Wed Jan 30 23:42:44 2019 +0100
     8.3 @@ -6,7 +6,7 @@
     8.4  SHORT_DESC="Blinder - theme for Openbox 3"
     8.5  MAINTAINER="al.bobylev@gmail.com"
     8.6  LICENSE="PublicDomain"
     8.7 -WEB_SITE="http://desktopstylish.tumblr.com/post/120897023300/blinder-the-openbox-3-theme-download"
     8.8 +WEB_SITE="https://web.archive.org/web/20151101012710/http://desktopstylish.tumblr.com/post/120897023300/blinder-the-openbox-3-theme-download"
     8.9  TARBALL="$PACKAGE-$VERSION.tar.bz2"
    8.10  WGET_URL="https://drive.google.com/uc?export=download&id=0B4Re2DvqOMqlQURSR3V5dzB4aXc"
    8.11  TAGS="hackdorte openbox"
     9.1 --- a/p2c/receipt	Tue Jan 29 18:11:07 2019 +0100
     9.2 +++ b/p2c/receipt	Wed Jan 30 23:42:44 2019 +0100
     9.3 @@ -7,7 +7,7 @@
     9.4  MAINTAINER="pascal.bellard@slitaz.org"
     9.5  LICENSE="GPL2"
     9.6  TARBALL="$PACKAGE-$VERSION.tar.gz"
     9.7 -WEB_SITE="https://schneider.ncifcrf.gov/p2c/"
     9.8 +WEB_SITE="http://users.fred.net/tds/lab/p2c/"
     9.9  WGET_URL="http://darkstar.ist.utl.pt/slackware/slackware_source/d/p2c/$TARBALL"
    9.10  TAGS="pascal"
    9.11  
    10.1 --- a/qtwitter/receipt	Tue Jan 29 18:11:07 2019 +0100
    10.2 +++ b/qtwitter/receipt	Wed Jan 30 23:42:44 2019 +0100
    10.3 @@ -7,7 +7,7 @@
    10.4  MAINTAINER="ben@seawolfsanctuary.com"
    10.5  LICENSE="LGPL3"
    10.6  TARBALL="$PACKAGE-$VERSION-src.tar.gz"
    10.7 -WEB_SITE="http://blog.ayoy.net/qtwitter"
    10.8 +WEB_SITE="https://web.archive.org/web/20130113073128/http://blog.ayoy.net/qtwitter"
    10.9  WGET_URL="http://files.ayoy.net/$PACKAGE/release/$VERSION/src/$TARBALL"
   10.10  
   10.11  DEPENDS="glibc-locale libQtCore libQtGui libQtNetwork libQtSvg libQtXml \
    11.1 --- a/slim-theme-japan-art/receipt	Tue Jan 29 18:11:07 2019 +0100
    11.2 +++ b/slim-theme-japan-art/receipt	Wed Jan 30 23:42:44 2019 +0100
    11.3 @@ -6,7 +6,7 @@
    11.4  SHORT_DESC="Japan Art - theme for SLiM"
    11.5  MAINTAINER="al.bobylev@gmail.com"
    11.6  LICENSE="PublicDomain"
    11.7 -WEB_SITE="http://desktopstylish.tumblr.com/post/120590949085/japan-art-slim-theme-download"
    11.8 +WEB_SITE="https://web.archive.org/web/20151101010005/http://desktopstylish.tumblr.com/post/120590949085/japan-art-slim-theme-download"
    11.9  TAGS="hackdorte slim"
   11.10  COOKOPTS="!pngquant"
   11.11  
    12.1 --- a/smx-dev/receipt	Tue Jan 29 18:11:07 2019 +0100
    12.2 +++ b/smx-dev/receipt	Wed Jan 30 23:42:44 2019 +0100
    12.3 @@ -6,7 +6,7 @@
    12.4  SHORT_DESC="text-embedded macro processing language, development files."
    12.5  MAINTAINER="pascal.bellard@slitaz.org"
    12.6  LICENSE="GPL2"
    12.7 -WEB_SITE="http://www.smxlang.org/"
    12.8 +WEB_SITE="https://web.archive.org/web/20180323014153/http://www.smxlang.org/"
    12.9  WANTED="smx"
   12.10  
   12.11  DEPENDS="smx"
    13.1 --- a/smx/receipt	Tue Jan 29 18:11:07 2019 +0100
    13.2 +++ b/smx/receipt	Wed Jan 30 23:42:44 2019 +0100
    13.3 @@ -7,7 +7,7 @@
    13.4  MAINTAINER="pascal.bellard@slitaz.org"
    13.5  LICENSE="GPL2"
    13.6  TARBALL="$PACKAGE-$VERSION.tar.gz"
    13.7 -WEB_SITE="http://www.smxlang.org/"
    13.8 +WEB_SITE="https://web.archive.org/web/20180323014153/http://www.smxlang.org/"
    13.9  WGET_URL="http://$PACKAGE.googlecode.com/files/$TARBALL"
   13.10  
   13.11  DEPENDS="unixODBC sqlite libgd libcrypto gcc-lib-base zlib"
    14.1 --- a/superswitcher/receipt	Tue Jan 29 18:11:07 2019 +0100
    14.2 +++ b/superswitcher/receipt	Wed Jan 30 23:42:44 2019 +0100
    14.3 @@ -7,7 +7,7 @@
    14.4  MAINTAINER="mallory@sweetpeople.org"
    14.5  LICENSE="GPL2"
    14.6  TARBALL="$PACKAGE-$VERSION.tar.gz"
    14.7 -WEB_SITE="https://code.google.com/archive/p/superswitcher/"
    14.8 +WEB_SITE="https://github.com/nigeltao/superswitcher"
    14.9  WGET_URL="http://$PACKAGE.googlecode.com/files/$TARBALL"
   14.10  
   14.11  DEPENDS="gtk+ libwnck GConf"
    15.1 --- a/ttf-inconsolata-dz/receipt	Tue Jan 29 18:11:07 2019 +0100
    15.2 +++ b/ttf-inconsolata-dz/receipt	Wed Jan 30 23:42:44 2019 +0100
    15.3 @@ -6,7 +6,7 @@
    15.4  SHORT_DESC="Monospace font for pretty code listings and for the terminal (modified to have straight single and double quotes)"
    15.5  MAINTAINER="al.bobylev@gmail.com"
    15.6  LICENSE="SIL_OFL"
    15.7 -WEB_SITE="http://nodnod.net/2009/feb/12/adding-straight-single-and-double-quotes-inconsola/"
    15.8 +WEB_SITE="https://web.archive.org/web/20170521002049/http://nodnod.net/2009/feb/12/adding-straight-single-and-double-quotes-inconsola/"
    15.9  TARBALL="$PACKAGE-$VERSION.zip"
   15.10  WGET_URL="http://media.nodnod.net/Inconsolata-dz.otf.zip"
   15.11  TAGS="font otf"
    16.1 --- a/verbiste/receipt	Tue Jan 29 18:11:07 2019 +0100
    16.2 +++ b/verbiste/receipt	Wed Jan 30 23:42:44 2019 +0100
    16.3 @@ -7,7 +7,7 @@
    16.4  MAINTAINER="pankso@slitaz.org"
    16.5  LICENSE="GPL2"
    16.6  TARBALL="$PACKAGE-$VERSION.tar.gz"
    16.7 -WEB_SITE="http://perso.b2b2c.ca/~sarrazip/dev/verbiste.html"
    16.8 +WEB_SITE="https://web.archive.org/web/20180606070141/http://perso.b2b2c.ca/~sarrazip/dev/verbiste.html"
    16.9  WGET_URL="http://perso.b2b2c.ca/~sarrazip/dev/$TARBALL"
   16.10  
   16.11  DEPENDS="gtk+ libxml2"
    17.1 --- a/vidalia/receipt	Tue Jan 29 18:11:07 2019 +0100
    17.2 +++ b/vidalia/receipt	Wed Jan 30 23:42:44 2019 +0100
    17.3 @@ -7,7 +7,7 @@
    17.4  MAINTAINER="paul@slitaz.org"
    17.5  LICENSE="GPL2 LGPL3"
    17.6  TARBALL="$PACKAGE-$VERSION.tar.gz"
    17.7 -WEB_SITE="https://www.torproject.org/vidalia/"
    17.8 +WEB_SITE="https://web.archive.org/web/20141121142650/https://www.torproject.org/projects/vidalia"
    17.9  WGET_URL="https://www.torproject.org/dist/$PACKAGE/$TARBALL"
   17.10  
   17.11  DEPENDS="tor libQtGui libQtXml libegl-mesa"
    18.1 --- a/wepbuster/receipt	Tue Jan 29 18:11:07 2019 +0100
    18.2 +++ b/wepbuster/receipt	Wed Jan 30 23:42:44 2019 +0100
    18.3 @@ -6,7 +6,7 @@
    18.4  SHORT_DESC="A set of tools for auditing wireless networks"
    18.5  MAINTAINER="pascal.bellard@slitaz.org"
    18.6  LICENSE="BSD"
    18.7 -WEB_SITE="https://code.google.com/archive/p/wepbuster/"
    18.8 +WEB_SITE="https://github.com/google-code-export/wepbuster"
    18.9  TARBALL="$PACKAGE-$VERSION.tgz"
   18.10  WGET_URL="http://wepbuster.googlecode.com/files/$TARBALL"
   18.11