diff --git a/index/ba/bar_codes/bar_codes-3.0.0.toml b/index/ba/bar_codes/bar_codes-3.0.0.toml
new file mode 100644
index 00000000..0c74e0d3
--- /dev/null
+++ b/index/ba/bar_codes/bar_codes-3.0.0.toml
@@ -0,0 +1,59 @@
+description = "Generate various types of bar codes (1D or 2D) on various media"
+name = "bar_codes"
+version = "3.0.0"
+authors = ["Gautier de Montmollin"]
+website = "https://ada-bar-codes.sourceforge.io/"
+licenses = "MIT"
+maintainers = ["fabien.chouteau@gmail.com"]
+maintainers-logins = ["zertovitch", "Fabien-Chouteau"]
+project-files = ["ada_bar_codes.gpr"]
+
+tags = ["bar", "code", "barcode", "bar-code",
+ "datamatrix", "qr", "code128",
+ "pbm", "pdf", "svg"]
+
+executables = ["bar_codes_demo"]
+
+long-description = """
+
+
+
+
+Some features:
+
+* 1D bar codes supported: Code 128
+* 2D bar codes supported: Data Matrix, QR Codes
+* Task safe
+* Endian-neutral
+* Multi-platform, but native code build
+* Standalone (no dependency on other libraires, bindings, etc.; no extra component needed for running)
+* Unconditionally portable code: OS-, CPU-, compiler- independent code.
+* Pure Ada 2012: this package can be used in projects in Ada 2012 and later versions of the Ada language
+* Tests and demos included
+* Free, open-source
+
+The creation of a bar code is as simple as this small procedure:
+
+```ada
+with Ada.Text_IO, Bar_Codes, Bar_Codes_Media;
+
+procedure Small_Demo is
+ use Ada.Text_IO;
+ svg : File_Type;
+begin
+ Create (svg, Out_File, "qr_code.svg");
+ Put_Line
+ (svg,
+ Bar_Codes_Media.SVG_Bar_Code
+ (Bar_Codes.Code_QR_Low, 100.0, 100.0, "mm", "Hello"));
+ Close (svg);
+end Small_Demo;
+```
+"""
+
+[gpr-externals]
+Build_Mode = ["Debug", "Fast"]
+
+[origin]
+url = "https://sourceforge.net/projects/ada-bar-codes/files/abc_003.zip"
+hashes = ["sha512:ed998c1f89c6970dce157aea2256197a2c1affd9afae90c296bacb6b4019ddf361904113bb60a1642e6558ed0f501909935145d8d735ec3b8b2267794040fc0b"]