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 122a65f3e0
commit 510f178630
5 changed files with 81 additions and 42 deletions

View File

@@ -1,6 +1,11 @@
open Cmdliner open Cmdliner
open Cmdliner.Term.Syntax 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 files =
let doc = "Files to process" in let doc = "Files to process" in
Arg.(non_empty & pos_all string [] & info [] ~docv:"FILE" ~doc) Arg.(non_empty & pos_all string [] & info [] ~docv:"FILE" ~doc)
@@ -12,7 +17,7 @@ let timezone =
let main_command f = let main_command f =
let doc = "Convert iCalendar files to remind format" in let doc = "Convert iCalendar files to remind format" in
let man = [] 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 let+ files = files and+ tz = timezone in
f tz files f tz files

View File

@@ -1,10 +1,11 @@
(executable (executable
(public_name remind_sync) (public_name ical2rem)
(name main) (name main)
(modules main commandLine remind eventPredicates utils windows_tz) (modules main commandLine remind eventPredicates utils windows_tz)
(preprocess (preprocess
(pps ppx_deriving.show)) (pps ppx_deriving.show))
(libraries (libraries
dune-build-info
cmdliner cmdliner
icalendar icalendar
timedesc-tzdb.full 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) (generate_opam_files true)
(source (source
(uri https://git.donadeo.net/pdonadeo/remind-sync)) (uri https://git.donadeo.net/pdonadeo/ical2rem))
(authors "Paolo Donadeo <paolo@donadeo.net>") (authors "Paolo Donadeo <paolo@donadeo.net>")
(maintainers "Maintainer Name <maintainer@example.com>") (maintainers "Paolo Donadeo <paolo@donadeo.net>")
(license MIT) (license MIT)
(documentation https://git.donadeo.net/pdonadeo/remind-sync) (documentation https://git.donadeo.net/pdonadeo/ical2rem)
(package (package
(name remind_sync) (name ical2rem)
(synopsis "A short synopsis") (synopsis "Convert iCalendar (.ics) files to Remind (.rem) format")
(description "A longer description") (description
(depends ocaml) "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 (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)"]