aboutsummaryrefslogtreecommitdiff
path: root/misc/shared-mime-info
diff options
context:
space:
mode:
authorMichael Johnson <ahze@FreeBSD.org>2005-04-02 16:50:27 +0000
committerMichael Johnson <ahze@FreeBSD.org>2005-04-02 16:50:27 +0000
commit249f17b40818dbd035b3ef3bbfdc98f3234f4e7c (patch)
tree5406647adf44bf58804de69df470199cee07ed70 /misc/shared-mime-info
parent853f2387628223b9e006dd2135a6d5cfb24d001d (diff)
downloadports-249f17b40818dbd035b3ef3bbfdc98f3234f4e7c.tar.gz
ports-249f17b40818dbd035b3ef3bbfdc98f3234f4e7c.zip
Notes
Diffstat (limited to 'misc/shared-mime-info')
-rw-r--r--misc/shared-mime-info/Makefile12
-rw-r--r--misc/shared-mime-info/distinfo6
-rw-r--r--misc/shared-mime-info/files/patch-freedesktop.org.xml.in794
-rw-r--r--misc/shared-mime-info/files/patch-update-mime-database.c295
4 files changed, 10 insertions, 1097 deletions
diff --git a/misc/shared-mime-info/Makefile b/misc/shared-mime-info/Makefile
index d1ca89c345fc..1684d76cc4fa 100644
--- a/misc/shared-mime-info/Makefile
+++ b/misc/shared-mime-info/Makefile
@@ -5,19 +5,13 @@
# $FreeBSD$
PORTNAME= shared-mime-info
-PORTVERSION= 0.15
-PORTREVISION= 9
+PORTVERSION= 0.16
+PORTREVISION= 1
CATEGORIES= misc gnome
MASTER_SITES= http://www.marcuscom.com/downloads/ \
- http://www.freedesktop.org/software/shared-mime-info/
+ http://freedesktop.org/~jrb/
DISTNAME= shared-mime-info-${PORTVERSION}
-PATCH_SITES= http://www.marcuscom.com/downloads/ \
- http://people.FreeBSD.org/~marcus/ \
- ${MASTER_SITE_LOCAL}
-PATCH_SITE_SUBDIR= marcus
-PATCHFILES= patch-0159-freedesktop.org.xml
-
MAINTAINER= gnome@FreeBSD.org
COMMENT= A MIME type database from the FreeDesktop project
diff --git a/misc/shared-mime-info/distinfo b/misc/shared-mime-info/distinfo
index 692d77c5dd43..bd2a9c80db61 100644
--- a/misc/shared-mime-info/distinfo
+++ b/misc/shared-mime-info/distinfo
@@ -1,4 +1,2 @@
-MD5 (shared-mime-info-0.15.tar.gz) = 51793b041edc68717c3f87e26a4bc087
-SIZE (shared-mime-info-0.15.tar.gz) = 422311
-MD5 (patch-0159-freedesktop.org.xml) = 99d3a5f1ac16042717fe0fbe80abb7cc
-SIZE (patch-0159-freedesktop.org.xml) = 722446
+MD5 (shared-mime-info-0.16.tar.gz) = 255a20bae753ebd41e2286b01e7b86d0
+SIZE (shared-mime-info-0.16.tar.gz) = 753513
diff --git a/misc/shared-mime-info/files/patch-freedesktop.org.xml.in b/misc/shared-mime-info/files/patch-freedesktop.org.xml.in
deleted file mode 100644
index a59b4dbf7334..000000000000
--- a/misc/shared-mime-info/files/patch-freedesktop.org.xml.in
+++ /dev/null
@@ -1,794 +0,0 @@
-===================================================================
-RCS file: /cvs/mime/shared-mime-info/freedesktop.org.xml.in,v
-retrieving revision 1.21
-retrieving revision 1.50
-diff -u -r1.21 -r1.50
---- freedesktop.org.xml.in 2004/08/16 10:29:23 1.21
-+++ freedesktop.org.xml.in 2005/03/19 12:15:55 1.50
-@@ -68,6 +68,10 @@
- <match type="string" value="must be converted with BinHex" offset="11"/>
- </magic>
- </mime-type>
-+ <mime-type type="application/mathematica">
-+ <comment xml:lang="en">Mathematica Notebook</comment>
-+ <glob pattern="*.nb" />
-+ </mime-type>
- <mime-type type="application/octet-stream">
- <_comment>unknown</_comment>
- <magic priority="50">
-@@ -89,6 +93,7 @@
- <match type="string" value="%PDF-" offset="0"/>
- </magic>
- <glob pattern="*.pdf"/>
-+ <alias type="application/x-pdf"/>
- </mime-type>
- <mime-type type="application/pgp">
- <_comment>PGP message</_comment>
-@@ -133,6 +138,15 @@
- <glob pattern="*.smi"/>
- <glob pattern="*.sml"/>
- </mime-type>
-+ <mime-type type="application/stuffit">
-+ <_comment>StuffIt archive</_comment>
-+ <magic priority="50">
-+ <match type="string" value="StuffIt" offset="0"/>
-+ </magic>
-+ <glob pattern="*.sit"/>
-+ <alias type="application/x-stuffit"/>
-+ <alias type="application/x-sit"/>
-+ </mime-type>
- <mime-type type="application/vnd.corel-draw">
- <_comment>Corel Draw drawing</_comment>
- <magic priority="50">
-@@ -151,7 +165,7 @@
- <mime-type type="application/vnd.lotus-1-2-3">
- <_comment>Lotus 1-2-3 spreadsheet</_comment>
- <magic priority="50">
-- <match type="string" value="\x00\x00\x02\x00" offset="0"/>
-+ <match type="string" value="\x00\x00\x02\x00\x06\x04\x06\x00\x08\x00\x00\x00\x00\x00" offset="0"/>
- </magic>
- <glob pattern="*.123"/>
- <glob pattern="*.wk1"/>
-@@ -159,7 +173,12 @@
- <glob pattern="*.wk4"/>
- <glob pattern="*.wks"/>
- </mime-type>
-- <mime-type type="application/vnd.ms-excel">
-+ <mime-type type="application/vnd.mozilla.xul+xml">
-+ <sub-class-of type="text/xml"/>
-+ <_comment>XML User Interface Language document</_comment>
-+ <glob pattern="*.xul"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.ms-excel">
- <_comment>Microsoft Excel spreadsheet</_comment>
- <magic priority="50">
- <match type="string" value="Microsoft Excel 5.0 Worksheet" offset="2080"/>
-@@ -184,8 +203,8 @@
- <match type="little32" value="0xcfd0e011" offset="0"/>
- </magic>
- </mime-type>
-- <mime-type type="application/vnd.ms-word">
-- <_comment>Microsoft Word document</_comment>
-+ <mime-type type="application/msword">
-+ <_comment>Microsoft Word document</_comment>
- <magic priority="50">
- <match type="string" value="\x31\xbe\x00\x00" offset="0"/>
- <match type="string" value="PO^Q`" offset="0"/>
-@@ -195,7 +214,7 @@
- <match type="string" value="Microsoft Word document data" offset="2112"/>
- </magic>
- <glob pattern="*.doc"/>
-- <alias type="application/msword"/>
-+ <alias type="application/vnd.ms-word"/>
- </mime-type>
- <mime-type type="application/vnd.palm">
- <_comment>Palmpilot database/document</_comment>
-@@ -275,6 +294,62 @@
- <_comment>OpenOffice.org Writer document template</_comment>
- <glob pattern="*.stw"/>
- </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.text">
-+ <_comment>OpenDocument Text</_comment>
-+ <glob pattern="*.odt"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.text-template">
-+ <_comment>OpenDocument Text Template</_comment>
-+ <glob pattern="*.ott"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.text-web">
-+ <_comment>OpenDocument HTML Document Template</_comment>
-+ <glob pattern="*.oth"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.text-master">
-+ <_comment>OpenDocument Master Document</_comment>
-+ <glob pattern="*.odm"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.graphics">
-+ <_comment>OpenDocument Drawing</_comment>
-+ <glob pattern="*.odg"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.graphics-template">
-+ <_comment>OpenDocument Drawing Template</_comment>
-+ <glob pattern="*.otg"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.presentation">
-+ <_comment>OpenDocument Presentation</_comment>
-+ <glob pattern="*.odp"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.presentation-template">
-+ <_comment>OpenDocument Presentation Template</_comment>
-+ <glob pattern="*.otp"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.spreadsheet">
-+ <_comment>OpenDocument Spreadsheet</_comment>
-+ <glob pattern="*.ods"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.spreadsheet-template">
-+ <_comment>OpenDocument Spreadsheet Template</_comment>
-+ <glob pattern="*.ots"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.chart">
-+ <_comment>OpenDocument Chart</_comment>
-+ <glob pattern="*.odc"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.formula">
-+ <_comment>OpenDocument Formula</_comment>
-+ <glob pattern="*.odf"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.database">
-+ <_comment>OpenDocument Database</_comment>
-+ <glob pattern="*.odb"/>
-+ </mime-type>
-+ <mime-type type="application/vnd.oasis.opendocument.image">
-+ <_comment>OpenDocument Image</_comment>
-+ <glob pattern="*.odi"/>
-+ </mime-type>
- <mime-type type="application/vnd.wordperfect">
- <alias type="application/x-wordperfect"/>
- <alias type="application/wordperfect"/>
-@@ -419,6 +494,10 @@
- <_comment>PGN chess game</_comment>
- <glob pattern="*.pgn"/>
- </mime-type>
-+ <mime-type type="application/x-chm">
-+ <comment>Compiled HTML Help Format</comment>
-+ <glob pattern="*.chm"/>
-+ </mime-type>
- <mime-type type="application/x-class-file">
- <_comment>Java byte code</_comment>
- </mime-type>
-@@ -468,8 +547,16 @@
- <glob pattern="*.cpio.gz"/>
- </mime-type>
- <mime-type type="application/x-csh">
-+ <sub-class-of type="application/x-shellscript"/>
- <sub-class-of type="text/plain"/>
- <_comment>C shell script</_comment>
-+ <magic>
-+ <match type="string" value="/bin/tcsh" offset="1:16"/>
-+ <match type="string" value="/bin/csh" offset="1:16"/>
-+ <match type="string" value="#!/usr/bin/env csh" offset="0"/>
-+ <match type="string" value="#!/usr/bin/env tcsh" offset="0"/>
-+ </magic>
-+ <glob pattern="*.csh"/>
- </mime-type>
- <mime-type type="application/x-dbase">
- <_comment>dBASE document</_comment>
-@@ -694,7 +781,7 @@
- <glob pattern="*.gmo"/>
- </mime-type>
- <mime-type type="application/x-glade">
-- <sub-class-of type="text/plain"/>
-+ <sub-class-of type="text/xml"/>
- <_comment>Glade project</_comment>
- <glob pattern="*.glade"/>
- </mime-type>
-@@ -765,6 +852,14 @@
- </magic>
- <glob pattern="*.class"/>
- </mime-type>
-+ <mime-type type="application/x-java-jnlp-file">
-+ <sub-class-of type="text/xml"/>
-+ <_comment>Java Network Launched Application</_comment>
-+ <glob pattern="*.jnlp"/>
-+ <magic priority="50">
-+ <match type="string" value="&lt;jnlp" offset="0:64"/>
-+ </magic>
-+ </mime-type>
- <mime-type type="application/x-javascript">
- <sub-class-of type="text/plain"/>
- <_comment>Javascript program</_comment>
-@@ -1111,6 +1206,14 @@
- <mime-type type="application/x-palm-database">
- <_comment>Palm OS database</_comment>
- </mime-type>
-+ <mime-type type="application/x-par2">
-+ <comment>PAR2 Parity File</comment>
-+ <magic priority="50">
-+ <match offset="0" type="string" value="PAR2" />
-+ </magic>
-+ <glob pattern="*.PAR2" />
-+ <glob pattern="*.par2" />
-+ </mime-type>
- <mime-type type="application/x-pef-executable">
- <_comment>PEF executable</_comment>
- <magic priority="50">
-@@ -1118,6 +1221,7 @@
- </magic>
- </mime-type>
- <mime-type type="application/x-perl">
-+ <sub-class-of type='application/x-executable'/>
- <sub-class-of type="text/plain"/>
- <_comment>Perl script</_comment>
- <magic priority="50">
-@@ -1154,23 +1258,6 @@
- <_comment>Pathetic Writer document</_comment>
- <glob pattern="*.pw"/>
- </mime-type>
-- <mime-type type="application/x-python">
-- <sub-class-of type="text/plain"/>
-- <_comment>Python script</_comment>
-- <magic priority="50">
-- <match type="string" value="#!/bin/python" offset="0"/>
-- <match type="string" value="#! /bin/python" offset="0"/>
-- <match type="string" value='eval \"exec /bin/python' offset="0"/>
-- <match type="string" value="#!/usr/bin/python" offset="0"/>
-- <match type="string" value="#! /usr/bin/python" offset="0"/>
-- <match type="string" value='eval \"exec /usr/bin/python' offset="0"/>
-- <match type="string" value="#!/usr/local/bin/python" offset="0"/>
-- <match type="string" value="#! /usr/local/bin/python" offset="0"/>
-- <match type="string" value='eval \"exec /usr/local/bin/python' offset="0"/>
-- <match type="string" value='/bin/env python' offset="1:16"/>
-- </magic>
-- <glob pattern="*.py"/>
-- </mime-type>
- <mime-type type="application/x-python-bytecode">
- <_comment>Python bytecode</_comment>
- <magic priority="50">
-@@ -1209,6 +1296,7 @@
- <glob pattern="*.rpm"/>
- </mime-type>
- <mime-type type="application/x-ruby">
-+ <sub-class-of type='application/x-executable'/>
- <sub-class-of type="text/plain"/>
- <_comment>Ruby script</_comment>
- <magic>
-@@ -1253,25 +1341,18 @@
- <sub-class-of type="text/plain"/>
- <_comment>shell script</_comment>
- <magic priority="50">
-- <match type="string" value="#!/bin/ksh" offset="0"/>
-- <match type="string" value="#!/usr/local/bin/ash" offset="0"/>
-- <match type="string" value="#!/usr/local/tcsh" offset="0"/>
- <match type="string" value="# This is a shell archive" offset="10"/>
- <match type="string" value="/bin/bash" offset="1:16"/>
- <match type="string" value="/bin/nawk" offset="1:16"/>
-- <match type="string" value="/bin/tcsh" offset="1:16"/>
-- <match type="string" value="/bin/csh" offset="1:16"/>
- <match type="string" value="/bin/zsh" offset="1:16"/>
- <match type="string" value="/bin/sh" offset="1:16"/>
-+ <match type="string" value="/bin/ksh" offset="1:16"/>
- <match type="string" value="#!/usr/bin/env sh" offset="0"/>
- <match type="string" value="#!/usr/bin/env bash" offset="0"/>
-- <match type="string" value="#!/usr/bin/env csh" offset="0"/>
-- <match type="string" value="#!/usr/bin/env tcsh" offset="0"/>
- <match type="string" value="#!/usr/bin/env zsh" offset="0"/>
--
-+ <match type="string" value="#!/usr/bin/env ksh" offset="0"/>
- </magic>
- <glob pattern="*.sh"/>
-- <glob pattern="*.csh"/>
- </mime-type>
- <mime-type type="application/x-shockwave-flash">
- <_comment>Shockwave Flash file</_comment>
-@@ -1407,12 +1488,13 @@
- <glob pattern="*.zoo"/>
- </mime-type>
- <mime-type type="application/xhtml+xml">
-- <sub-class-of type="text/plain"/>
-+ <sub-class-of type="text/xml"/>
- <_comment>XHTML page</_comment>
- <glob pattern="*.xhtml"/>
- <root-XML namespaceURI='http://www.w3.org/1999/xhtml' localName='html'/>
- </mime-type>
- <mime-type type="application/zip">
-+ <alias type="application/x-zip-compressed"/>
- <_comment>ZIP archive</_comment>
- <magic priority="40">
- <match type="string" value="PK\003\004" offset="0"/>
-@@ -1497,6 +1579,13 @@
- <glob pattern="*.mid"/>
- <glob pattern="*.midi"/>
- </mime-type>
-+ <mime-type type="audio/x-m4a">
-+ <_comment>MP4 audio</_comment>
-+ <magic priority="50">
-+ <match type="string" value="ftypM4A" offset="0"/>
-+ </magic>
-+ <glob pattern="*.m4a"/>
-+ </mime-type>
- <mime-type type="audio/x-mod">
- <_comment>Amiga SoundTracker audio</_comment>
- <glob pattern="*.mod"/>
-@@ -1507,12 +1596,12 @@
- <glob pattern="*.mtm"/>
- <glob pattern="*.669"/>
- </mime-type>
-- <mime-type type="audio/x-mp3">
-+ <mime-type type="audio/mpeg">
-+ <alias type="audio/x-mp3" />
- <_comment>MP3 audio</_comment>
- <magic priority="50">
- <match type="big32" value="0xfffb" offset="0"/>
- <match type="string" value="ID3" offset="0"/>
-- <match type="big16" mask="0xfff0" value="0xfff0" offset="0"/>
- </magic>
- <glob pattern="*.mp3"/>
- </mime-type>
-@@ -1525,6 +1614,9 @@
- <mime-type type="audio/x-mpegurl">
- <_comment>MP3 audio (streamed)</_comment>
- <glob pattern="*.m3u"/>
-+ <magic priority="50">
-+ <match type="string" value="#EXTM3U" offset="0"/>
-+ </magic>
- </mime-type>
- <mime-type type="audio/x-ms-asx">
- <_comment>Playlist</_comment>
-@@ -1557,6 +1649,11 @@
- </mime-type>
- <mime-type type="audio/x-scpls">
- <_comment>MP3 ShoutCast playlist</_comment>
-+ <magic priority="50">
-+ <match type="string" value="[playlist]" offset="0"/>
-+ <match type="string" value="[Playlist]" offset="0"/>
-+ <match type="string" value="[PLAYLIST]" offset="0"/>
-+ </magic>
- <glob pattern="*.pls"/>
- </mime-type>
- <mime-type type="audio/x-stm">
-@@ -1568,6 +1665,8 @@
- <glob pattern="*.voc"/>
- </mime-type>
- <mime-type type="audio/x-wav">
-+ <alias type="audio/wav"/>
-+ <alias type="audio/vnd.wave"/>
- <_comment>WAV audio</_comment>
- <magic priority="50">
- <match type="string" value="WAVE" offset="8"/>
-@@ -1649,6 +1748,7 @@
- <glob pattern="*.rle"/>
- </mime-type>
- <mime-type type="image/svg+xml">
-+ <sub-class-of type="text/xml"/>
- <_comment>scalable SVG image</_comment>
- <magic priority="80">
- <match type="string" value="&lt;!DOCTYPE svg" offset="0:256"/>
-@@ -1695,11 +1795,11 @@
- <glob pattern="*.xcf.gz"/>
- <glob pattern="*.xcf.bz2"/>
- </mime-type>
-- <mime-type type="image/x-dcm">
-+ <mime-type type="application/dicom">
- <_comment>Digital Imaging and Communications in Medicine image</_comment>
- <glob pattern="*.dcm"/>
- <magic priority="50">
-- <match type="string" value="DCMw" offset="0"/>
-+ <match type="string" value="DICM" offset="128"/>
- </magic>
- </mime-type>
- <mime-type type="image/x-dib">
-@@ -1993,10 +2093,13 @@
- <_comment>stream of data (server push)</_comment>
- </mime-type>
- <mime-type type="text/calendar">
-- <_comment>iCalendar file</_comment>
-+ <alias type="text/x-vcalendar"/>
-+ <_comment>vCalendar interchange file</_comment>
- <magic priority="50">
- <match type="string" value="BEGIN:VCALENDAR" offset="0"/>
-+ <match type="string" value="begin:vcalendar" offset="0"/>
- </magic>
-+ <glob pattern="*.vcs"/>
- <glob pattern="*.ics"/>
- </mime-type>
- <mime-type type="text/css">
-@@ -2005,47 +2108,24 @@
- <glob pattern="*.CSSL"/>
- </mime-type>
- <mime-type type="text/directory">
-- <_comment>directory information file</_comment>
-+ <alias type="text/x-vcard"/>
-+ <_comment>Electronic Business Card</_comment>
-+ <magic priority="50">
-+ <match type="string" value="BEGIN:VCARD" offset="0"/>
-+ <match type="string" value="begin:vcard" offset="0"/>
-+ </magic>
-+ <glob pattern="*.vcf"/>
-+ <glob pattern="*.vct"/>
-+ <glob pattern="*.gcrd"/>
- </mime-type>
- <mime-type type="text/enriched">
- <_comment>enriched text document</_comment>
- </mime-type>
-- <mime-type type="text/x-gettext-translation">
-- <_comment>translated messages</_comment>
-- <glob pattern="*.po"/>
-- </mime-type>
-- <mime-type type="text/x-gettext-translation-template">
-- <_comment>message translation template</_comment>
-- <glob pattern="*.pot"/>
-- </mime-type>
-- <mime-type type="text/html">
-- <_comment>HTML page</_comment>
-- <magic priority="50">
-- <match type="string" value="&lt;!DOCTYPE HTML" offset="0:64"/>
-- <match type="string" value="&lt;!doctype html" offset="0:64"/>
-- <match type="string" value="&lt;HEAD" offset="0:64"/>
-- <match type="string" value="&lt;head" offset="0:64"/>
-- <match type="string" value="&lt;TITLE" offset="0:64"/>
-- <match type="string" value="&lt;title" offset="0:64"/>
-- <match type="string" value="&lt;html" offset="0:64"/>
-- <match type="string" value="&lt;HTML" offset="0:64"/>
-- <match type="string" value="&lt;BODY" offset="0"/>
-- <match type="string" value="&lt;body" offset="0"/>
-- <match type="string" value="&lt;TITLE" offset="0"/>
-- <match type="string" value="&lt;title" offset="0"/>
-- <match type="string" value="&lt;!--" offset="0"/>
-- <match type="string" value="&lt;h1" offset="0"/>
-- <match type="string" value="&lt;H1" offset="0"/>
-- <match type="string" value="&lt;!doctype HTML" offset="0"/>
-- <match type="string" value="&lt;!DOCTYPE html" offset="0"/>
-- </magic>
-- <glob pattern="*.html"/>
-- <glob pattern="*.htm"/>
-- </mime-type>
- <mime-type type="text/htmlh">
- <_comment>help page</_comment>
- </mime-type>
- <mime-type type="text/mathml">
-+ <sub-class-of type="text/xml"/>
- <_comment>MathML document</_comment>
- <glob pattern="*.mml"/>
- </mime-type>
-@@ -2059,6 +2139,7 @@
- <glob pattern="*.asc"/>
- </mime-type>
- <mime-type type="text/rdf">
-+ <sub-class-of type="text/plain"/>
- <_comment>Resource Description Framework (RDF) file</_comment>
- <glob pattern="*.rdf"/>
- </mime-type>
-@@ -2066,10 +2147,12 @@
- <_comment>email headers</_comment>
- </mime-type>
- <mime-type type="text/richtext">
-+ <sub-class-of type="text/plain"/>
- <_comment>rich text document</_comment>
- <glob pattern="*.rtx"/>
- </mime-type>
- <mime-type type="text/rss">
-+ <sub-class-of type="text/plain"/>
- <_comment>RDF Site Summary</_comment>
- <glob pattern="*.rss"/>
- </mime-type>
-@@ -2087,6 +2170,7 @@
- <glob pattern="*.slk"/>
- </mime-type>
- <mime-type type="text/tab-separated-values">
-+ <sub-class-of type="text/plain"/>
- <_comment>text document (with tab-separated values)</_comment>
- <glob pattern="*.tsv"/>
- </mime-type>
-@@ -2095,23 +2179,28 @@
- <glob pattern="*.wml"/>
- </mime-type>
- <mime-type type="text/x-adasrc">
-+ <sub-class-of type="text/plain"/>
- <_comment>Ada source code</_comment>
- <glob pattern="*.adb"/>
- <glob pattern="*.ads"/>
- </mime-type>
- <mime-type type="text/x-authors">
-+ <sub-class-of type="text/plain"/>
- <_comment>author list</_comment>
- <glob pattern="AUTHORS"/>
- </mime-type>
- <mime-type type="text/x-bibtex">
-+ <sub-class-of type="text/plain"/>
- <_comment>Bibtex bibliographic data</_comment>
- <glob pattern="*.bib"/>
- </mime-type>
- <mime-type type="text/x-c++hdr">
-+ <sub-class-of type="text/plain"/>
- <_comment>C++ source code header</_comment>
- <glob pattern="*.hh"/>
- </mime-type>
- <mime-type type="text/x-c++src">
-+ <sub-class-of type="text/plain"/>
- <_comment>C++ source code</_comment>
- <glob pattern="*.cpp"/>
- <glob pattern="*.cxx"/>
-@@ -2120,32 +2209,39 @@
- <glob pattern="*.c++"/>
- </mime-type>
- <mime-type type="text/x-chdr">
-+ <sub-class-of type="text/plain"/>
- <_comment>C source code header</_comment>
- <glob pattern="*.h"/>
- <glob pattern="*.h++"/>
- <glob pattern="*.hp"/>
- </mime-type>
- <mime-type type="text/x-comma-separated-values">
-+ <sub-class-of type="text/plain"/>
- <_comment>text document (with comma-separated values)</_comment>
- <glob pattern="*.csv"/>
- </mime-type>
- <mime-type type="text/x-copying">
-+ <sub-class-of type="text/plain"/>
- <_comment>software license terms</_comment>
- <glob pattern="COPYING"/>
- </mime-type>
- <mime-type type="text/x-credits">
-+ <sub-class-of type="text/plain"/>
- <_comment>software author credits</_comment>
- <glob pattern="CREDITS"/>
- </mime-type>
- <mime-type type="text/x-csrc">
-+ <sub-class-of type="text/plain"/>
- <_comment>C source code</_comment>
- <glob pattern="*.c"/>
- </mime-type>
- <mime-type type="text/x-csharp">
-+ <sub-class-of type="text/plain"/>
- <_comment>C# source code</_comment>
- <glob pattern="*.cs"/>
- </mime-type>
- <mime-type type="text/x-dcl">
-+ <sub-class-of type="text/plain"/>
- <_comment>DCL script</_comment>
- <glob pattern="*.dcl"/>
- </mime-type>
-@@ -2153,11 +2249,18 @@
- <_comment>DSSSL document</_comment>
- <glob pattern="*.dsl"/>
- </mime-type>
-+ <mime-type type="text/x-dsrc">
-+ <sub-class-of type="text/plain"/>
-+ <_comment>D source code</_comment>
-+ <glob pattern="*.d"/>
-+ </mime-type>
- <mime-type type="text/x-dtd">
-+ <sub-class-of type="text/plain"/>
- <_comment>document type definition</_comment>
- <glob pattern="*.dtd"/>
- </mime-type>
- <mime-type type="text/x-emacs-lisp">
-+ <sub-class-of type="text/plain"/>
- <_comment>Emacs Lisp source code</_comment>
- <magic priority="50">
- <match type="string" value="\012(" offset="0"/>
-@@ -2166,68 +2269,110 @@
- <glob pattern="*.el"/>
- </mime-type>
- <mime-type type="text/x-fortran">
-+ <sub-class-of type="text/plain"/>
- <_comment>Fortran source code</_comment>
- <glob pattern="*.f"/>
- </mime-type>
-+ <mime-type type="text/x-gettext-translation">
-+ <sub-class-of type="text/plain"/>
-+ <_comment>translated messages</_comment>
-+ <glob pattern="*.po"/>
-+ </mime-type>
-+ <mime-type type="text/x-gettext-translation-template">
-+ <sub-class-of type="text/plain"/>
-+ <_comment>message translation template</_comment>
-+ <glob pattern="*.pot"/>
-+ </mime-type>
-+ <mime-type type="text/html">
-+ <_comment>HTML page</_comment>
-+ <magic priority="50">
-+ <match type="string" value="&lt;!DOCTYPE HTML" offset="0:64"/>
-+ <match type="string" value="&lt;!doctype html" offset="0:64"/>
-+ <match type="string" value="&lt;HEAD" offset="0:64"/>
-+ <match type="string" value="&lt;head" offset="0:64"/>
-+ <match type="string" value="&lt;TITLE" offset="0:64"/>
-+ <match type="string" value="&lt;title" offset="0:64"/>
-+ <match type="string" value="&lt;html" offset="0:64"/>
-+ <match type="string" value="&lt;HTML" offset="0:64"/>
-+ <match type="string" value="&lt;BODY" offset="0"/>
-+ <match type="string" value="&lt;body" offset="0"/>
-+ <match type="string" value="&lt;TITLE" offset="0"/>
-+ <match type="string" value="&lt;title" offset="0"/>
-+ <match type="string" value="&lt;!--" offset="0"/>
-+ <match type="string" value="&lt;h1" offset="0"/>
-+ <match type="string" value="&lt;H1" offset="0"/>
-+ <match type="string" value="&lt;!doctype HTML" offset="0"/>
-+ <match type="string" value="&lt;!DOCTYPE html" offset="0"/>
-+ </magic>
-+ <glob pattern="*.html"/>
-+ <glob pattern="*.htm"/>
-+ </mime-type>
- <mime-type type="text/x-gtkrc">
-+ <sub-class-of type="text/plain"/>
- <_comment>GTK configuration</_comment>
- <glob pattern="gtkrc"/>
- <glob pattern=".gtkrc"/>
- </mime-type>
- <mime-type type="text/x-haskell">
-+ <sub-class-of type="text/plain"/>
- <_comment>Haskell source code</_comment>
- <glob pattern="*.hs"/>
- </mime-type>
- <mime-type type="text/x-idl">
-+ <sub-class-of type="text/plain"/>
- <_comment>IDL document</_comment>
- <glob pattern="*.idl"/>
- </mime-type>
- <mime-type type="text/x-install">
-+ <sub-class-of type="text/plain"/>
- <_comment>software installation instructions</_comment>
- <glob pattern="INSTALL"/>
- </mime-type>
- <mime-type type="text/x-java">
-+ <sub-class-of type="text/plain"/>
- <_comment>Java source code</_comment>
- <glob pattern="*.java"/>
- </mime-type>
-- <mime-type type="text/x-ksh">
-- <_comment>Korn shell script</_comment>
-- <magic priority="50">
-- <match type="string" value="/bin/ksh" offset="1:16"/>
-- </magic>
-- </mime-type>
- <mime-type type="text/x-ksysv-log">
-+ <sub-class-of type="text/plain"/>
- <magic priority="50">
- <match type="string" value="KDE System V Init Editor" offset="0"/>
- </magic>
- </mime-type>
- <mime-type type="text/x-literate-haskell">
-+ <sub-class-of type="text/plain"/>
- <_comment>Literate haskell source code</_comment>
- <glob pattern="*.lhs"/>
- </mime-type>
- <mime-type type="text/x-log">
-+ <sub-class-of type="text/plain"/>
- <_comment>application log</_comment>
- <glob pattern="*.log"/>
- </mime-type>
- <mime-type type="text/x-makefile">
-+ <sub-class-of type="text/plain"/>
- <_comment>Makefile</_comment>
- <glob pattern="makefile*"/>
- <glob pattern="[Mm]akefile"/>
- </mime-type>
- <mime-type type="text/x-moc">
-+ <sub-class-of type="text/plain"/>
- <_comment>Qt Meta Object file</_comment>
- <glob pattern="*.moc"/>
- </mime-type>
- <mime-type type="text/x-objcsrc">
-+ <sub-class-of type="text/plain"/>
- <_comment>Objective-C source code</_comment>
- <glob pattern="*.m"/>
- </mime-type>
- <mime-type type="text/x-pascal">
-+ <sub-class-of type="text/plain"/>
- <_comment>Pascal source code</_comment>
- <glob pattern="*.p"/>
- <glob pattern="*.pas"/>
- </mime-type>
- <mime-type type="text/x-patch">
-+ <sub-class-of type="text/plain"/>
- <_comment>differences between files</_comment>
- <magic priority="50">
- <match type="string" value="diff\t" offset="0"/>
-@@ -2242,15 +2387,36 @@
- <glob pattern="*.diff"/>
- <glob pattern="*.patch"/>
- </mime-type>
-+ <mime-type type="text/x-python">
-+ <sub-class-of type='application/x-executable'/>
-+ <sub-class-of type="text/plain"/>
-+ <_comment>Python script</_comment>
-+ <magic priority="50">
-+ <match type="string" value="#!/bin/python" offset="0"/>
-+ <match type="string" value="#! /bin/python" offset="0"/>
-+ <match type="string" value='eval \"exec /bin/python' offset="0"/>
-+ <match type="string" value="#!/usr/bin/python" offset="0"/>
-+ <match type="string" value="#! /usr/bin/python" offset="0"/>
-+ <match type="string" value='eval \"exec /usr/bin/python' offset="0"/>
-+ <match type="string" value="#!/usr/local/bin/python" offset="0"/>
-+ <match type="string" value="#! /usr/local/bin/python" offset="0"/>
-+ <match type="string" value='eval \"exec /usr/local/bin/python' offset="0"/>
-+ <match type="string" value='/bin/env python' offset="1:16"/>
-+ </magic>
-+ <glob pattern="*.py"/>
-+ </mime-type>
- <mime-type type="text/x-readme">
-+ <sub-class-of type="text/plain"/>
- <_comment>README document</_comment>
- <glob pattern="README*"/>
- </mime-type>
- <mime-type type="text/x-scheme">
-+ <sub-class-of type="text/plain"/>
- <_comment>Scheme source code</_comment>
- <glob pattern="*.scm"/>
- </mime-type>
- <mime-type type="text/x-setext">
-+ <sub-class-of type="text/plain"/>
- <_comment>Setext document</_comment>
- <glob pattern="*.etx"/>
- </mime-type>
-@@ -2258,15 +2424,18 @@
- <_comment>Speech document</_comment>
- </mime-type>
- <mime-type type="text/x-sql">
-+ <sub-class-of type="text/plain"/>
- <_comment>SQL code</_comment>
- <glob pattern="*.sql"/>
- </mime-type>
- <mime-type type="text/x-tcl">
-+ <sub-class-of type="text/plain"/>
- <_comment>Tcl script</_comment>
- <glob pattern="*.tcl"/>
- <glob pattern="*.tk"/>
- </mime-type>
- <mime-type type="text/x-tex">
-+ <sub-class-of type="text/plain"/>
- <_comment>TeX document</_comment>
- <glob pattern="*.tex"/>
- <glob pattern="*.ltx"/>
-@@ -2274,6 +2443,7 @@
- <glob pattern="*.cls"/>
- </mime-type>
- <mime-type type="text/x-texinfo">
-+ <sub-class-of type="text/plain"/>
- <_comment>TeXInfo document</_comment>
- <glob pattern="*.texi"/>
- <glob pattern="*.texinfo"/>
-@@ -2300,24 +2470,6 @@
- <glob pattern="*.uri"/>
- <glob pattern="*.url"/>
- </mime-type>
-- <mime-type type="text/x-vcalendar">
-- <_comment>vCalendar interchange file</_comment>
-- <magic priority="50">
-- <match type="string" value="BEGIN:VCALENDAR" offset="0"/>
-- <match type="string" value="begin:vcalendar" offset="0"/>
-- </magic>
-- <glob pattern="*.vcs"/>
-- <glob pattern="*.vcf"/>
-- </mime-type>
-- <mime-type type="text/x-vcard">
-- <_comment>electronic business card</_comment>
-- <magic priority="50">
-- <match type="string" value="BEGIN:VCARD" offset="0"/>
-- <match type="string" value="begin:vcard" offset="0"/>
-- </magic>
-- <glob pattern="*.vct"/>
-- <glob pattern="*.gcrd"/>
-- </mime-type>
- <mime-type type="text/x-xmi">
- <_comment>XML Metadata Interchange file</_comment>
- <glob pattern="*.xmi"/>
-@@ -2328,7 +2480,9 @@
- <glob pattern="*.xslfo"/>
- </mime-type>
- <mime-type type="text/x-xslt">
-+ <sub-class-of type="text/plain"/>
- <_comment>XSLT stylesheet</_comment>
-+ <sub-class-of type="text/xml"/>
- <glob pattern="*.xslt"/>
- <glob pattern="*.xsl"/>
- </mime-type>
-@@ -2338,6 +2492,7 @@
- </magic>
- </mime-type>
- <mime-type type="text/xml">
-+ <sub-class-of type="text/plain"/>
- <_comment>eXtensible Markup Language document</_comment>
- <magic priority="50">
- <match type="string" value="&lt;?xml" offset="0"/>
diff --git a/misc/shared-mime-info/files/patch-update-mime-database.c b/misc/shared-mime-info/files/patch-update-mime-database.c
index bbddab3d2097..a9837e64314c 100644
--- a/misc/shared-mime-info/files/patch-update-mime-database.c
+++ b/misc/shared-mime-info/files/patch-update-mime-database.c
@@ -1,216 +1,16 @@
---- update-mime-database.c.orig Sat Mar 19 15:29:41 2005
-+++ update-mime-database.c Sat Mar 19 15:29:45 2005
-@@ -94,6 +94,12 @@ static GHashTable *globs_hash = NULL;
- /* 'magic' nodes */
- static GPtrArray *magic_array = NULL;
-
-+/* Maps MIME type names to superclass names */
-+static GHashTable *subclass_hash = NULL;
-+
-+/* Maps aliases to Types */
-+static GHashTable *alias_hash = NULL;
-+
- /* Static prototypes */
- static Magic *magic_new(xmlNode *node, Type *type, GError **error);
-
-@@ -295,12 +301,37 @@ static gboolean process_freedesktop_node
- {
- char *other_type;
- gboolean valid;
-+ GSList *list, *nlist;
-+
- other_type = xmlGetNsProp(field, "type", NULL);
- valid = other_type && strchr(other_type, '/');
-- xmlFree(other_type);
- if (valid)
-- return FALSE; /* Copy through */
-+ {
-+ char *typename;
-
-+ typename = g_strdup_printf("%s/%s",
-+ type->media,
-+ type->subtype);
-+
-+ if (strcmp(field->name, "alias") == 0)
-+ g_hash_table_insert(alias_hash,
-+ g_strdup(other_type), type);
-+
-+ else
-+ {
-+ list = g_hash_table_lookup(subclass_hash, typename);
-+ nlist = g_slist_append (list, g_strdup(other_type));
-+ if (list == NULL)
-+ g_hash_table_insert(subclass_hash,
-+ g_strdup(typename), nlist);
-+ }
-+ g_free(typename);
-+ xmlFree(other_type);
-+
-+ return FALSE; /* Copy through */
-+ }
-+
-+ xmlFree(other_type);
- g_set_error(error, MIME_ERROR, 0,
- _("Incorrect or missing 'type' attribute "
- "in <%s>"), field->name);
-@@ -377,7 +408,8 @@ static void remove_old(Type *type, xmlNo
+--- update-mime-database.c.orig Fri Dec 3 15:46:28 2004
++++ update-mime-database.c Fri Mar 25 14:51:30 2005
+@@ -408,7 +408,8 @@
}
}
- xmlFree(lang);
+ if (lang)
-+ xmlFree(lang);
++ xmlFree(lang);
}
/* 'node' is a <mime-type> node from a source file, whose type is 'type'.
-@@ -809,7 +841,14 @@ static void parse_int_value(int bytes, c
- unsigned long value;
- int b;
-
-- value = strtol(in, &end, 0);
-+ value = strtoul(in, &end, 0);
-+ if (errno == ERANGE) {
-+ g_set_error(error, MIME_ERROR, 0,
-+ "Number out-of-range (%s should fit in %d bytes)",
-+ in, bytes);
-+ return;
-+ }
-+
- if (*end != '\0')
- {
- g_set_error(error, MIME_ERROR, 0, "Value is not a number");
-@@ -834,9 +873,17 @@ static void parse_int_value(int bytes, c
- if (in_mask)
- {
- int b;
-- long mask;
-+ unsigned long mask;
-
-- mask = strtol(in_mask, &end, 0);
-+ mask = strtoul(in_mask, &end, 0);
-+ if (errno == ERANGE) {
-+ g_set_error(error, MIME_ERROR, 0,
-+ "Mask out-of-range (%s should fit in %d bytes)",
-+ in_mask, bytes);
-+ return;
-+ }
-+
-+
- if (*end != '\0')
- {
- g_set_error(error, MIME_ERROR, 0,
-@@ -847,7 +894,7 @@ static void parse_int_value(int bytes, c
- out_mask = g_new(char, bytes);
- for (b = 0; b < bytes; b++)
- {
-- int shift = (bytes - b - 1) * 8;
-+ int shift = (big_endian ? (bytes - b - 1) : b) * 8;
- out_mask[b] = (mask >> shift) & 0xff;
- }
- }
-@@ -991,11 +1038,33 @@ static void match_offset(Match *match, x
- }
-
- match->range_start = strtol(offset, &end, 10);
-+ if (errno == ERANGE) {
-+ char *number;
-+ number = g_strndup(offset, end-offset);
-+ g_set_error(error, MIME_ERROR, 0,
-+ "Number out-of-range (%s should fit in 4 bytes)",
-+ number);
-+ g_free(number);
-+ return;
-+ }
-+
- if (*end == ':' && end[1] && match->range_start >= 0)
- {
- int last;
-+ char *begin;
-+
-+ begin = end + 1;
-+ last = strtol(begin, &end, 10);
-+ if (errno == ERANGE) {
-+ char *number;
-+ number = g_strndup(begin, end-begin);
-+ g_set_error(error, MIME_ERROR, 0,
-+ "Number out-of-range (%s should fit in 8 bytes)",
-+ number);
-+ g_free(number);
-+ return;
-+ }
-
-- last = strtol(end + 1, &end, 10);
- if (*end == '\0' && last >= match->range_start)
- match->range_length = last - match->range_start + 1;
- else
-@@ -1310,6 +1379,66 @@ static void write_namespaces(FILE *strea
- g_ptr_array_free(lines, TRUE);
- }
-
-+static void write_subclass(gpointer key, gpointer value, gpointer data)
-+{
-+ GSList *list = value;
-+ FILE *stream = data;
-+ GSList *l;
-+ char *line;
-+
-+ for (l = list; l; l = l->next)
-+ {
-+ line = g_strconcat (key, " ", l->data, "\n", NULL);
-+ fwrite(line, 1, strlen(line), stream);
-+ g_free (line);
-+ }
-+}
-+
-+/* Write all the collected subclass information to 'subclasses' */
-+static void write_subclasses(FILE *stream)
-+{
-+ g_hash_table_foreach(subclass_hash, write_subclass, stream);
-+}
-+
-+/* Extract one entry from alias_hash and put it in the GPtrArray so
-+ * we can sort it.
-+ */
-+static void add_alias(gpointer key, gpointer value, gpointer data)
-+{
-+ GPtrArray *lines = (GPtrArray *) data;
-+ const guchar *alias = (guchar *) key;
-+ Type *type = (Type *) value;
-+
-+ g_ptr_array_add(lines, g_strconcat(alias, " ", type->media,
-+ "/", type->subtype, "\n",
-+ NULL));
-+}
-+
-+/* Write all the collected aliases */
-+static void write_aliases(FILE *stream)
-+{
-+ GPtrArray *lines;
-+ int i;
-+
-+ lines = g_ptr_array_new();
-+
-+ g_hash_table_foreach(alias_hash, add_alias, lines);
-+
-+ g_ptr_array_sort(lines, strcmp2);
-+
-+ for (i = 0; i < lines->len; i++)
-+ {
-+ char *line = (char *) lines->pdata[i];
-+
-+ fwrite(line, 1, strlen(line), stream);
-+
-+ g_free(line);
-+ }
-+
-+ g_ptr_array_free(lines, TRUE);
-+}
-+
-+
- /* Issue a warning if 'path' won't be found by applications */
- static void check_in_path_xdg_data(const char *mime_path)
- {
-@@ -1330,7 +1459,7 @@ static void check_in_path_xdg_data(const
+@@ -1458,7 +1459,7 @@
env = getenv("XDG_DATA_DIRS");
if (!env)
@@ -219,88 +19,3 @@
dirs = g_strsplit(env, ":", 0);
g_return_if_fail(dirs != NULL);
for (n = 0; dirs[n]; n++)
-@@ -1371,6 +1500,14 @@ out:
- g_free(path);
- }
-
-+static void free_string_list(gpointer data)
-+{
-+ GSList *list = data;
-+
-+ g_slist_foreach(list, (GFunc)g_free, NULL);
-+ g_slist_free(list);
-+}
-+
- int main(int argc, char **argv)
- {
- char *mime_dir = NULL;
-@@ -1442,7 +1579,11 @@ int main(int argc, char **argv)
- namespace_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
- g_free, NULL);
- magic_array = g_ptr_array_new();
--
-+ subclass_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
-+ g_free, free_string_list);
-+ alias_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
-+ g_free, NULL);
-+
- scan_source_dir(package_dir);
- g_free(package_dir);
-
-@@ -1494,7 +1635,7 @@ int main(int argc, char **argv)
- atomic_update(magic_path);
- g_free(magic_path);
- }
--
-+
- {
- FILE *stream;
- char *ns_path;
-@@ -1510,12 +1651,47 @@ int main(int argc, char **argv)
- atomic_update(ns_path);
- g_free(ns_path);
- }
-+
-+ {
-+ FILE *stream;
-+ char *path;
-+
-+ path = g_strconcat(mime_dir, "/subclasses.new", NULL);
-+ stream = fopen(path, "wb");
-+ if (!stream)
-+ g_error("Failed to open '%s' for writing\n",
-+ path);
-+
-+ write_subclasses(stream);
-+
-+ atomic_update(path);
-+ g_free(path);
-+ }
-+
-+ {
-+ FILE *stream;
-+ char *path;
-+
-+ path = g_strconcat(mime_dir, "/aliases.new", NULL);
-+ stream = fopen(path, "wb");
-+ if (!stream)
-+ g_error("Failed to open '%s' for writing\n",
-+ path);
-+
-+ write_aliases(stream);
-+
-+ atomic_update(path);
-+ g_free(path);
-+ }
-+
-
- g_ptr_array_free(magic_array, TRUE);
-
- g_hash_table_destroy(types);
- g_hash_table_destroy(globs_hash);
- g_hash_table_destroy(namespace_hash);
-+ g_hash_table_destroy(subclass_hash);
-+ g_hash_table_destroy(alias_hash);
-
- g_print("***\n");
-