Control: retitle -1 Package java library
Control: notforwarded -1

Hi,

based on the upstream feedback in the PR the upstream of src:hibiscus (and src:jameica) switched from the java-fast to the java version:

https://github.com/willuhn/hibiscus/commit/dfa01bd11611b3ccd08595dc0858acb809f8faf1

I've attached a patch to add a package for it.
Would you be ok if I upload it to NEW?

Cheers Jochen
From 84cd7c98014d3adff159f636f3ca6158658f1127 Mon Sep 17 00:00:00 2001
From: Jochen Sprickerhof <[email protected]>
Date: Thu, 5 May 2022 10:06:58 +0200
Subject: [PATCH] Add qrcodegen-java package

---
 debian/control                | 28 ++++++++++++++++++++++++++++
 debian/libqrcodegen-java.poms |  1 +
 debian/maven.ignoreRules      |  4 ++++
 debian/maven.rules            |  1 +
 debian/rules                  | 15 +++++++++++++++
 5 files changed, 49 insertions(+)
 create mode 100644 debian/libqrcodegen-java.poms
 create mode 100644 debian/maven.ignoreRules
 create mode 100644 debian/maven.rules

diff --git a/debian/control b/debian/control
index c2c180f..a977745 100644
--- a/debian/control
+++ b/debian/control
@@ -4,9 +4,12 @@ Priority: optional
 Maintainer: Yangfl <[email protected]>
 Build-Depends:
  debhelper-compat (= 13),
+ default-jdk,
+ maven-debian-helper,
 Build-Depends-Indep:
  dh-python,
  python3,
+ libmaven-compiler-plugin-java,
  python3-setuptools,
 Rules-Requires-Root: no
 Standards-Version: 4.6.0
@@ -138,3 +141,28 @@ Description: QR Code generator library in multiple languages - Python3 version
   * Open source code under the permissive MIT License
  .
  This package contains the module in Python3.
+
+Package: libqrcodegen-java
+Section: java
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, ${maven:Depends}, ${maven:CompileDepends}
+Description: QR Code generator library in multiple languages - Java version
+ This project aims to be the best, clearest QR Code generator library in
+ multiple languages. The primary goals are flexible options and absolute
+ correctness. Secondary goals are compact implementation size and good
+ documentation comments. Core features:
+  * Available in 7 programming languages, all with nearly equal functionality:
+    Java, JavaScript, TypeScript, Python, C++, C, Rust
+  * Significantly shorter code but more documentation comments compared to
+    competing libraries
+  * Supports encoding all 40 versions (sizes) and all 4 error correction levels,
+    as per the QR Code Model 2 standard
+  * Output formats: Raw modules/pixels of the QR symbol (all languages), SVG XML
+    string (all languages except C), BufferedImage raster bitmap (Java only),
+    HTML5 canvas (JavaScript and TypeScript only)
+  * Encodes numeric and special-alphanumeric text in less space than general
+    text
+  * Open source code under the permissive MIT License
+ .
+ This package contains the libarary for Java.
diff --git a/debian/libqrcodegen-java.poms b/debian/libqrcodegen-java.poms
new file mode 100644
index 0000000..13ad134
--- /dev/null
+++ b/debian/libqrcodegen-java.poms
@@ -0,0 +1 @@
+java/pom.xml --has-package-version
diff --git a/debian/maven.ignoreRules b/debian/maven.ignoreRules
new file mode 100644
index 0000000..a7175a8
--- /dev/null
+++ b/debian/maven.ignoreRules
@@ -0,0 +1,4 @@
+org.apache.maven.plugins maven-gpg-plugin * * * *
+org.apache.maven.plugins maven-javadoc-plugin * * * *
+org.apache.maven.plugins maven-release-plugin * * * *
+org.apache.maven.plugins maven-source-plugin * * * *
diff --git a/debian/maven.rules b/debian/maven.rules
new file mode 100644
index 0000000..96bbdbc
--- /dev/null
+++ b/debian/maven.rules
@@ -0,0 +1 @@
+io.nayuki qrcodegen jar s/.*/debian/ * *
diff --git a/debian/rules b/debian/rules
index 9bff7c0..725f2a4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -28,12 +28,27 @@ clean:
 
 override_dh_auto_clean-indep:
 	-dh_auto_clean --buildsystem=pybuild --sourcedirectory=python/
+	# mh_(un)patchpoms does not obey --sourcedirectory=java/
+	mh_patchpoms -plibqrcodegen-java
+	dh_auto_clean --buildsystem=maven --sourcedirectory=java/ -plibqrcodegen-java
+	mh_unpatchpoms -plibqrcodegen-java
 	rm -rf python/qrcodegen.egg-info
 
+execute_before_dh_auto_configure-indep:
+	dh_auto_configure --buildsystem=maven -plibqrcodegen-java
+
 override_dh_auto_build-indep:
 	dh_auto_build --buildsystem=pybuild --sourcedirectory=python/
+	dh_auto_build --buildsystem=maven --sourcedirectory=java/
 
 override_dh_auto_install-indep:
+	# mv, sed, rm: work around buildsystem=maven calling mh_resolve_dependencies in java/
+	mv java/pom.xml.save java/pom.xml.backup
+	dh_auto_install -plibqrcodegen-java --buildsystem=maven --sourcedirectory=java/
+	mv java/pom.xml.backup java/pom.xml.save
+	mh_unpatchpoms -plibqrcodegen-java
+	sed -i 's/maven\./maven:/' debian/libqrcodegen-java.substvars
+	rm -r java/.debianVersion java/debian/
 	dh_auto_install --buildsystem=pybuild --sourcedirectory=python/
 
 override_dh_auto_clean-arch:
-- 
2.36.1

Attachment: signature.asc
Description: PGP signature

Reply via email to