RawTherapee 向 HarmonyOS(OHOS arm64)移植的构建工程仓库:收录本平台适配补丁、依赖栈与交叉构建配置,上游 RawTherapee 源码按上游渠道获取,许可证以仓库内收录的上游许可文本为准
当前访问频次受限,请登录后继续访问
Harmony-RawTherapee
下载与交流
- 华为应用市场:AirRT
- 交流群:1105698553
RawTherapee 向 HarmonyOS(OHOS arm64) 移植的构建工程仓库:收录依赖栈源码、面向主程序的移植补丁序列、交叉编译工具链配置与部署脚本,为 RT 引擎在鸿蒙上的交叉构建与运行提供完整可复原的构建面。
来源与许可
| 项目 | 内容 |
|---|---|
| 上游项目 | RawTherapee — https://rawtherapee.com/ ,源码 https://github.com/Beep6581/RawTherapee |
| 上游基线 | dev 分支 1924179107995b01b73cdc7f4fe91e44fc8227a7(2026-07-26 快照,release-5.13 合入 dev 周期) |
| 上游许可证 | GPL-3.0-or-later(见上游源码树 LICENSE) |
| 本仓库许可 | 本仓库的移植补丁、脚本与工具链配置以 GPL-3.0-or-later 释出 |
| 主程序源码 | 本仓库不收录 RawTherapee 主程序源码副本;按上游渠道获取源码树并检出上述基线 commit,再依 patches/rawtherapee-ohos/ 复原移植态 |
| 依赖栈 | sources/ 收录各依赖库源码快照(mm 老线与 RT 专属依赖),其著作权与许可归各自上游项目,见各源码树内 COPYING/LICENSE |
| 上游文件头 | 补丁所触及文件保留其原始版权声明;本仓库新增文件在文件头标注 GPL-3.0-or-later |
| 无担保 | 按"现有状况"提供,不含任何明示或暗示的担保 |
移植方式
- 交叉编译:OHOS NDK clang 工具链;RawTherapee 本体以 CMake + Ninja 交叉编译为引擎静态库(
librtengine.a/librtgui_ohos.a),由调用方在运行期接入。 - 依赖栈:GTK-- 系 mm 老线(libsigc++ → cairomm → glibmm → pangomm → atkmm → gtkmm)与 RT 专属依赖(fftw3f / libiptcdata / fmt)以源码方式收录、随 Meson 交叉构建;exiv2 与 lensfun 以动态 libc++ 链接方式重编,避免与运行时库形成双 C++ ABI 世界。
- 补丁序列:对主程序 14 处改动按子系统分文件收录于
patches/rawtherapee-ohos/(series为应用顺序,README.md为逐条改动指示)。 - 部署链:
scripts/内的 ELF 规整与部署脚本把依赖栈与 rtdata 数据文件落入目标工程的打包通道。
仓库结构
| 目录 | 说明 |
|---|---|
sources/ |
依赖库源码栈(mm 老线 + RT 专属依赖 + fmt) |
cross/ |
交叉编译工具链配置(Meson cross 文件 / CMake toolchain) |
scripts/ |
构建、ELF 规整与部署脚本 |
patches/rawtherapee-ohos/ |
面向主程序上游的 14 条移植补丁 + series + 逐条改动指示 |
tools/ |
交叉链接辅助工具 |
构建
前置条件:OHOS SDK(NDK aarch64 工具链)、CMake、Ninja、Meson、pkg-config。
source scripts/env.sh
scripts/download_sources.sh # 获取依赖源码包与 fmt
scripts/build_mm.sh # mm 老线 + fftw/libiptcdata/fmt
scripts/build_exiv2_dyn.sh # exiv2(动态 libc++ 链接)
scripts/build_lensfun_dyn.sh # lensfun(动态 libc++ 链接)
# 主程序:按上游渠道取源码并检出基线后,依 patches/rawtherapee-ohos/series 打补丁
scripts/build_rt.sh # RawTherapee 本体交叉构建
scripts/normalize_installs.sh # install 原件 ELF 规整
scripts/deploy_stack.sh # 部署依赖栈到目标工程
scripts/deploy_datafiles.sh # 部署 rtdata 数据文件(含随包面字样清洗)
说明:脚本中的工具链与安装前缀路径以本机构建环境为准(含跨项目复用的依赖前缀与 RawTherapee 源码树路径),使用时请按实际环境调整。
改动指示
- 对主程序的修改:逐条见
patches/rawtherapee-ohos/README.md(含触及的上游文件、行为说明与验证状态) - 对
rtdata随包资源的处理:scripts/strip_upstream_info.py(幂等清洗,重放验证为零差异) - 逐条改动的时间与上下文见提交历史(
git log)
许可证
- RawTherapee:GPL-3.0-or-later,以上游源码树内许可文件为准(主程序源码按上游渠道获取)
- mm 老线依赖(libsigc++ / cairomm / glibmm / pangomm / atkmm / gtkmm):以
sources/各源码树内COPYING文件为准 - fftw:见
sources/fftw-3.3.10/COPYING - libiptcdata:见
sources/libiptcdata-1.0.5/COPYING - fmt:见
sources/fmt/LICENSE - 本仓库的补丁、脚本与工具链配置:GPL-3.0-or-later
各组件著作权归其上游项目所有,本仓库遵循相应许可证条款发布。