Harmony-RawTherapee:基于 HarmonyOS 的 RAW 图像处理引擎移植构建项目

RawTherapee 向 HarmonyOS(OHOS arm64)移植的构建工程仓库:收录本平台适配补丁、依赖栈与交叉构建配置,上游 RawTherapee 源码按上游渠道获取,许可证以仓库内收录的上游许可文本为准

分支1Tags0

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

各组件著作权归其上游项目所有,本仓库遵循相应许可证条款发布。

项目介绍

RawTherapee 向 HarmonyOS(OHOS arm64)移植的构建工程仓库:收录本平台适配补丁、依赖栈与交叉构建配置,上游 RawTherapee 源码按上游渠道获取,许可证以仓库内收录的上游许可文本为准

定制我的领域