#mime #shared #copy #freedesktop #info #binary #default

shared-mime-embedded

Embedded copy of FreeDesktop Shared MIME data

1 unstable release

0.1.0-alpha1 Jul 9, 2024

#1157 in Database interfaces


Used in shared-mime-query

GPL-2.0-or-later

8MB
143K SLoC

PO File 137K SLoC // 0.3% comments C++ 3K SLoC // 0.0% comments Scons 1.5K SLoC // 0.2% comments C 702 SLoC // 0.0% comments TypeScript 205 SLoC Python 170 SLoC // 0.1% comments Bitbake 167 SLoC Rust 140 SLoC Happy 122 SLoC JavaScript 114 SLoC // 0.0% comments Shell 102 SLoC // 0.1% comments D 65 SLoC // 0.2% comments INI 44 SLoC Objective-C 43 SLoC // 0.1% comments COBOL 20 SLoC OpenCL 20 SLoC Modelica 19 SLoC Scheme 16 SLoC // 0.3% comments C# 13 SLoC CoffeeScript 13 SLoC // 0.4% comments Vala 13 SLoC Cython 13 SLoC Objective-C++ 12 SLoC Perl 11 SLoC TSX 10 SLoC Coq 9 SLoC SystemVerilog 9 SLoC ReScript 8 SLoC XSL 8 SLoC PHP 8 SLoC Java 7 SLoC Twig 7 SLoC GDShader 6 SLoC Visual Basic 6 SLoC SRecode Template 6 SLoC QML 5 SLoC Groovy 5 SLoC Scala 5 SLoC Go 4 SLoC Gherkin (Cucumber) 4 SLoC Kotlin 3 SLoC Dart 3 SLoC GDScript 3 SLoC // 0.7% comments Typst 2 SLoC VB6 1 SLoC Crystal 1 SLoC Nushell 1 SLoC VBScript 1 SLoC PowerShell 1 SLoC Nim 1 SLoC VHDL 1 SLoC Julia 1 SLoC

Contains (MSI installer, 135KB) test.msi, (Zip file, 69KB) Anaphraseus-1.21-beta.oxt, (Zip file, 93KB) App1_1.0.0.0_x64.appx, (Zip file, 94KB) App1_1.0.0.0_x64.appxbundle, (Zip file, 96KB) App1_1.0.0.0_x64.msix, (Zip file, 98KB) App1_1.0.0.0_x64.msixbundle and 37 more.

Embedded data for shared-mime

This package combines shared-mime with an embedded copy of the FreeDesktop.org Shared Mime Info database, to allow programs to use the MIME data (e.g. to detect file types) without requiring installation of the MIME database. It is intended to support scenarios like single-file binary deployment.

I strongly recommend that you gate use of this package behind a feature (possibly enabled by default), using the shared-mime package directly if that feature is disabled, to make it easier for packagers to distribute a version of your program that only uses the locally-installed shared MIME info (e.g. a Debian package of a program using shared-mime should depend on shared-mime-info and consult those files, not use an embedded copy).

[!IMPORTANT] This package, and the shared MIME data it imports, are GPL-licensed (v2+). Binaries using it must be GPL-licensed (even if their source code is under a different, GPL-compatible license such as MIT).

Implementation Notes

This package implements its copy by parsing the shared MIME info at build time, and serializing the parsed MIME entries with Postcard into a byte array embedded in resulting binaries. The binary version of version 2.4 of the FreeDesktop shared mime info is about 65KiB.

Dependencies