refactor: rename project from remind_sync to ical2rem

- Rename executable public_name and package name from remind_sync to
  ical2rem
- Update dune-project with new name, source URI, maintainer, synopsis,
  description, and tags
- Add dune-build-info dependency and use Build_info to generate the
  version string at build time instead of the %%VERSION%% placeholder
- Add pinned dependencies to ical2rem.opam
- Remove remind_sync.opam
- Bump dune lang version from 3.20 to 3.23
This commit is contained in:
2026-05-24 00:03:48 +02:00
parent 33660db642
commit e3f3e91dc7
5 changed files with 81 additions and 42 deletions

View File

@@ -1,6 +1,11 @@
open Cmdliner
open Cmdliner.Term.Syntax
let version_string () =
match Build_info.V1.version () with
| None -> "dev"
| Some v -> Build_info.V1.Version.to_string v
let files =
let doc = "Files to process" in
Arg.(non_empty & pos_all string [] & info [] ~docv:"FILE" ~doc)
@@ -12,7 +17,7 @@ let timezone =
let main_command f =
let doc = "Convert iCalendar files to remind format" in
let man = [] in
Cmd.make (Cmd.info "ical2rem" ~version:"%%VERSION%%" ~doc ~man)
Cmd.make (Cmd.info "ical2rem" ~version:(version_string ()) ~doc ~man)
@@
let+ files = files and+ tz = timezone in
f tz files

View File

@@ -1,10 +1,11 @@
(executable
(public_name remind_sync)
(public_name ical2rem)
(name main)
(modules main commandLine remind eventPredicates utils windows_tz)
(preprocess
(pps ppx_deriving.show))
(libraries
dune-build-info
cmdliner
icalendar
timedesc-tzdb.full

View File

@@ -1,24 +1,49 @@
(lang dune 3.20)
(lang dune 3.23)
(name remind_sync)
(name ical2rem)
(generate_opam_files true)
(source
(uri https://git.donadeo.net/pdonadeo/remind-sync))
(uri https://git.donadeo.net/pdonadeo/ical2rem))
(authors "Paolo Donadeo <paolo@donadeo.net>")
(maintainers "Maintainer Name <maintainer@example.com>")
(maintainers "Paolo Donadeo <paolo@donadeo.net>")
(license MIT)
(documentation https://git.donadeo.net/pdonadeo/remind-sync)
(documentation https://git.donadeo.net/pdonadeo/ical2rem)
(package
(name remind_sync)
(synopsis "A short synopsis")
(description "A longer description")
(depends ocaml)
(name ical2rem)
(synopsis "Convert iCalendar (.ics) files to Remind (.rem) format")
(description
"ical2rem reads iCalendar (.ics) files and produces reminders in the Remind format. It handles recurring events, exceptions (EXDATE/RECURRENCE-ID), alarms (VALARM), timezones, and Windows timezone names.")
(depends
(ocaml
(= 5.4.1))
(timedesc
(= 3.1.0))
(timedesc-tzdb
(= 3.1.0))
(timedesc-tzlocal
(= 3.1.0))
(ppx_deriving
(= 6.1.1))
(icalendar
(= 0.1.13))
(dune
(and
:dev
(= 3.23.1)))
(ocamlformat
(and
:dev
(= 0.29.0)))
(ocaml-lsp-server
(and
:dev
(= 1.26.0))))
(tags
("add topics" "to describe" your project)))
(icalendar remind calendar ics rem converter)))

38
ical2rem.opam Normal file
View File

@@ -0,0 +1,38 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
synopsis: "Convert iCalendar (.ics) files to Remind (.rem) format"
description:
"ical2rem reads iCalendar (.ics) files and produces reminders in the Remind format. It handles recurring events, exceptions (EXDATE/RECURRENCE-ID), alarms (VALARM), timezones, and Windows timezone names."
maintainer: ["Paolo Donadeo <paolo@donadeo.net>"]
authors: ["Paolo Donadeo <paolo@donadeo.net>"]
license: "MIT"
tags: ["icalendar" "remind" "calendar" "ics" "rem" "converter"]
doc: "https://git.donadeo.net/pdonadeo/ical2rem"
depends: [
"ocaml" {= "5.4.1"}
"timedesc" {= "3.1.0"}
"timedesc-tzdb" {= "3.1.0"}
"timedesc-tzlocal" {= "3.1.0"}
"ppx_deriving" {= "6.1.1"}
"icalendar" {= "0.1.13"}
"dune" {>= "3.23" & dev & = "3.23.1"}
"ocamlformat" {dev & = "0.29.0"}
"ocaml-lsp-server" {dev & = "1.26.0"}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "https://git.donadeo.net/pdonadeo/ical2rem"
x-maintenance-intent: ["(latest)"]

View File

@@ -1,30 +0,0 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
synopsis: "A short synopsis"
description: "A longer description"
maintainer: ["Maintainer Name <maintainer@example.com>"]
authors: ["Paolo Donadeo <paolo@donadeo.net>"]
license: "MIT"
tags: ["add topics" "to describe" "your" "project"]
doc: "https://git.donadeo.net/pdonadeo/remind-sync"
depends: [
"dune" {>= "3.20"}
"ocaml"
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "https://git.donadeo.net/pdonadeo/remind-sync"
x-maintenance-intent: ["(latest)"]