fastqr 1.0.20 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/BUILD.md +10 -74
- data/CHANGELOG.md +1 -1
- data/CMakeLists.txt +1 -1
- data/DISTRIBUTION.md +14 -14
- data/INSTALL.md +4 -4
- data/LICENSE +1 -3
- data/PREBUILT.md +3 -3
- data/README.md +254 -148
- data/VERSION +1 -1
- data/bindings/nodejs/README.md +418 -0
- data/bindings/nodejs/package.json +1 -2
- data/bindings/ruby/extconf.rb +4 -4
- data/bindings/ruby/lib/fastqr/version.rb +1 -1
- data/bindings/ruby/prebuilt/linux-aarch64/bin/fastqr +0 -0
- data/bindings/ruby/prebuilt/linux-aarch64.tar.gz +0 -0
- data/bindings/ruby/prebuilt/linux-x86_64/bin/fastqr +0 -0
- data/bindings/ruby/prebuilt/linux-x86_64.tar.gz +0 -0
- data/bindings/ruby/prebuilt/macos-arm64/bin/fastqr +0 -0
- data/bindings/ruby/prebuilt/macos-arm64.tar.gz +0 -0
- data/bindings/ruby/prebuilt/macos-x86_64/bin/fastqr +0 -0
- data/bindings/ruby/prebuilt/macos-x86_64.tar.gz +0 -0
- data/build.sh +5 -5
- data/docs/NODEJS_USAGE.md +2 -2
- data/docs/README.md +5 -4
- data/prebuilt/README.md +5 -6
- data/src/fastqr.cpp +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 766594181db4a767babbf28073821f652e841b78503a770af6200e67004c06ba
|
|
4
|
+
data.tar.gz: f92b0664663b8a7d226971d709d3b9ee1ced6502f942eb3b2ddb3eb668653a67
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9753655dab955c9610e307ef4ff20aa53ee1b6a2966fb56a19fbe80f28623190f6e0ba4b81af2288ee4885e7d49d06170b27f9cfc3e25a5a097fdd967ca1a136
|
|
7
|
+
data.tar.gz: 1497c75a6eeb10e852b42889ff499999148ae8bdbaf80f51600aeb8d131e8c109cc094f6b7b5d6df97d1b6dfdd84c3855c32eb62d2f5f1d3360052841ed62e3a
|
data/BUILD.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Building FastQR from Source
|
|
2
2
|
|
|
3
|
-
This guide explains how to build FastQR from source, including building with custom versions of libqrencode
|
|
3
|
+
This guide explains how to build FastQR from source, including building with custom versions of libqrencode (as required by LGPL).
|
|
4
4
|
|
|
5
5
|
## 📋 Requirements
|
|
6
6
|
|
|
@@ -13,7 +13,7 @@ This guide explains how to build FastQR from source, including building with cus
|
|
|
13
13
|
### Dependencies
|
|
14
14
|
|
|
15
15
|
- **libqrencode** (version 4.0+)
|
|
16
|
-
- **
|
|
16
|
+
- **libpng**
|
|
17
17
|
|
|
18
18
|
## 🍎 macOS
|
|
19
19
|
|
|
@@ -21,7 +21,7 @@ This guide explains how to build FastQR from source, including building with cus
|
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
# Using Homebrew
|
|
24
|
-
brew install cmake qrencode
|
|
24
|
+
brew install cmake qrencode libpng pkg-config
|
|
25
25
|
|
|
26
26
|
# Or build from source (see below)
|
|
27
27
|
```
|
|
@@ -72,29 +72,6 @@ make
|
|
|
72
72
|
sudo make install
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
### Build with Custom libvips
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
# Install libvips dependencies
|
|
79
|
-
brew install glib libpng libjpeg libexif
|
|
80
|
-
|
|
81
|
-
# Build libvips from source
|
|
82
|
-
cd /tmp
|
|
83
|
-
git clone https://github.com/libvips/libvips.git
|
|
84
|
-
cd libvips
|
|
85
|
-
./autogen.sh
|
|
86
|
-
./configure --prefix=/usr/local
|
|
87
|
-
make
|
|
88
|
-
sudo make install
|
|
89
|
-
|
|
90
|
-
# Build FastQR
|
|
91
|
-
cd /path/to/fastqr
|
|
92
|
-
mkdir build && cd build
|
|
93
|
-
cmake .. -DCMAKE_PREFIX_PATH=/usr/local
|
|
94
|
-
make
|
|
95
|
-
sudo make install
|
|
96
|
-
```
|
|
97
|
-
|
|
98
75
|
## 🐧 Ubuntu/Debian
|
|
99
76
|
|
|
100
77
|
### Install Dependencies
|
|
@@ -107,7 +84,7 @@ sudo apt-get install -y \
|
|
|
107
84
|
cmake \
|
|
108
85
|
pkg-config \
|
|
109
86
|
libqrencode-dev \
|
|
110
|
-
|
|
87
|
+
libpng-dev \
|
|
111
88
|
git
|
|
112
89
|
```
|
|
113
90
|
|
|
@@ -161,37 +138,6 @@ make
|
|
|
161
138
|
sudo make install
|
|
162
139
|
```
|
|
163
140
|
|
|
164
|
-
### Build with Custom libvips
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
# Install libvips dependencies
|
|
168
|
-
sudo apt-get install -y \
|
|
169
|
-
libglib2.0-dev \
|
|
170
|
-
libexpat1-dev \
|
|
171
|
-
libjpeg-dev \
|
|
172
|
-
libpng-dev \
|
|
173
|
-
libwebp-dev \
|
|
174
|
-
libtiff-dev \
|
|
175
|
-
libexif-dev
|
|
176
|
-
|
|
177
|
-
# Build libvips
|
|
178
|
-
cd /tmp
|
|
179
|
-
git clone https://github.com/libvips/libvips.git
|
|
180
|
-
cd libvips
|
|
181
|
-
./autogen.sh
|
|
182
|
-
./configure --prefix=/usr/local
|
|
183
|
-
make
|
|
184
|
-
sudo make install
|
|
185
|
-
sudo ldconfig
|
|
186
|
-
|
|
187
|
-
# Build FastQR
|
|
188
|
-
cd /path/to/fastqr
|
|
189
|
-
mkdir build && cd build
|
|
190
|
-
cmake .. -DCMAKE_PREFIX_PATH=/usr/local
|
|
191
|
-
make
|
|
192
|
-
sudo make install
|
|
193
|
-
```
|
|
194
|
-
|
|
195
141
|
## 🪟 Windows (MSVC)
|
|
196
142
|
|
|
197
143
|
### Install Dependencies
|
|
@@ -212,7 +158,7 @@ cd vcpkg
|
|
|
212
158
|
|
|
213
159
|
```powershell
|
|
214
160
|
.\vcpkg install qrencode:x64-windows
|
|
215
|
-
.\vcpkg install
|
|
161
|
+
.\vcpkg install libpng:x64-windows
|
|
216
162
|
```
|
|
217
163
|
|
|
218
164
|
### Build FastQR
|
|
@@ -365,15 +311,6 @@ pkg-config --modversion libqrencode
|
|
|
365
311
|
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
|
|
366
312
|
```
|
|
367
313
|
|
|
368
|
-
### "vips.h not found"
|
|
369
|
-
|
|
370
|
-
```bash
|
|
371
|
-
# Make sure vips is installed
|
|
372
|
-
pkg-config --modversion vips
|
|
373
|
-
|
|
374
|
-
# If not found, install or add to PKG_CONFIG_PATH
|
|
375
|
-
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
|
|
376
|
-
```
|
|
377
314
|
|
|
378
315
|
### "Library not found" at runtime
|
|
379
316
|
|
|
@@ -397,8 +334,8 @@ sudo ldconfig
|
|
|
397
334
|
cmake .. \
|
|
398
335
|
-DQRENCODE_INCLUDE_DIR=/usr/local/include \
|
|
399
336
|
-DQRENCODE_LIBRARY=/usr/local/lib/libqrencode.a \
|
|
400
|
-
-
|
|
401
|
-
-
|
|
337
|
+
-DPNG_INCLUDE_DIR=/usr/local/include \
|
|
338
|
+
-DPNG_LIBRARY=/usr/local/lib/libpng.a
|
|
402
339
|
```
|
|
403
340
|
|
|
404
341
|
### Ruby gem fails to build
|
|
@@ -433,12 +370,11 @@ node-gyp build
|
|
|
433
370
|
|
|
434
371
|
FastQR uses **LGPL 2.1** license and statically links with:
|
|
435
372
|
- libqrencode (LGPL 2.1)
|
|
436
|
-
- libvips (LGPL 2.1+)
|
|
437
373
|
|
|
438
374
|
As required by LGPL, you can:
|
|
439
375
|
|
|
440
|
-
1. **Replace the library**: Build FastQR with different versions of libqrencode
|
|
441
|
-
2. **Modify the library**: Fork and modify libqrencode
|
|
376
|
+
1. **Replace the library**: Build FastQR with different versions of libqrencode using the instructions above
|
|
377
|
+
2. **Modify the library**: Fork and modify libqrencode, then build FastQR against your modified versions
|
|
442
378
|
3. **Link dynamically**: Use `-DBUILD_SHARED_LIBS=ON` to build shared library instead of static
|
|
443
379
|
|
|
444
380
|
### Example: Using Modified libqrencode
|
|
@@ -477,6 +413,6 @@ If you encounter issues:
|
|
|
477
413
|
|
|
478
414
|
- [CMake Documentation](https://cmake.org/documentation/)
|
|
479
415
|
- [libqrencode](https://github.com/fukuchi/libqrencode)
|
|
480
|
-
- [
|
|
416
|
+
- [libpng](http://www.libpng.org/pub/png/libpng.html)
|
|
481
417
|
- [LGPL v2.1 License](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)
|
|
482
418
|
|
data/CHANGELOG.md
CHANGED
|
@@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
- Initial release of FastQR
|
|
12
|
-
- Core C++ library with libqrencode and
|
|
12
|
+
- Core C++ library with libqrencode and libpng integration
|
|
13
13
|
- Full UTF-8 support (Vietnamese, Japanese, Chinese, emoji, etc.)
|
|
14
14
|
- Custom color support for QR code and background
|
|
15
15
|
- Precise size control (exact pixel dimensions)
|
data/CMakeLists.txt
CHANGED
data/DISTRIBUTION.md
CHANGED
|
@@ -41,7 +41,7 @@ class Fastqr < Formula
|
|
|
41
41
|
|
|
42
42
|
depends_on "cmake" => :build
|
|
43
43
|
depends_on "qrencode"
|
|
44
|
-
depends_on "
|
|
44
|
+
depends_on "libpng"
|
|
45
45
|
|
|
46
46
|
def install
|
|
47
47
|
system "cmake", "-S", ".", "-B", "build", *std_cmake_args
|
|
@@ -97,7 +97,7 @@ brew tap tranhuucanh/fastqr
|
|
|
97
97
|
brew install fastqr
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
**Note**: Homebrew automatically installs dependencies (qrencode and
|
|
100
|
+
**Note**: Homebrew automatically installs dependencies (qrencode and libpng), so users don't need to install them manually.
|
|
101
101
|
|
|
102
102
|
---
|
|
103
103
|
|
|
@@ -125,13 +125,13 @@ Source: fastqr
|
|
|
125
125
|
Section: utils
|
|
126
126
|
Priority: optional
|
|
127
127
|
Maintainer: Your Name <your.email@example.com>
|
|
128
|
-
Build-Depends: debhelper (>= 10), cmake, libqrencode-dev,
|
|
128
|
+
Build-Depends: debhelper (>= 10), cmake, libqrencode-dev, libpng-dev
|
|
129
129
|
Standards-Version: 4.1.3
|
|
130
130
|
Homepage: https://github.com/tranhuucanh/fastqr
|
|
131
131
|
|
|
132
132
|
Package: fastqr
|
|
133
133
|
Architecture: any
|
|
134
|
-
Depends: ${shlibs:Depends}, ${misc:Depends}, libqrencode4,
|
|
134
|
+
Depends: ${shlibs:Depends}, ${misc:Depends}, libqrencode4, libpng16-16
|
|
135
135
|
Description: Fast QR code generator with UTF-8 support
|
|
136
136
|
FastQR is a fast QR code generator with full UTF-8 support,
|
|
137
137
|
custom colors, logo embedding, and precise size control.
|
|
@@ -233,7 +233,7 @@ ruby -r fastqr -e "puts FastQR.version"
|
|
|
233
233
|
gem uninstall fastqr
|
|
234
234
|
```
|
|
235
235
|
|
|
236
|
-
**Important**: The gem now includes pre-built binaries, so users don't need to install libqrencode
|
|
236
|
+
**Important**: The gem now includes pre-built binaries, so users don't need to install libqrencode separately!
|
|
237
237
|
|
|
238
238
|
### Step 3: Create RubyGems Account
|
|
239
239
|
|
|
@@ -259,7 +259,7 @@ gem push fastqr-1.0.0.gem
|
|
|
259
259
|
# Users can now install with just:
|
|
260
260
|
gem install fastqr
|
|
261
261
|
|
|
262
|
-
# No need to install qrencode
|
|
262
|
+
# No need to install qrencode!
|
|
263
263
|
|
|
264
264
|
# Or via Gemfile:
|
|
265
265
|
# gem 'fastqr', '~> 1.0'
|
|
@@ -309,10 +309,10 @@ node test/test.js
|
|
|
309
309
|
|
|
310
310
|
# Test installation from tarball
|
|
311
311
|
npm pack
|
|
312
|
-
npm install fastqr-1.0.0.tgz
|
|
312
|
+
npm install fastqr-pro-1.0.0.tgz
|
|
313
313
|
```
|
|
314
314
|
|
|
315
|
-
**Important**: The npm package now includes pre-built binaries, so users don't need to install libqrencode
|
|
315
|
+
**Important**: The npm package now includes pre-built binaries, so users don't need to install libqrencode separately!
|
|
316
316
|
|
|
317
317
|
### Step 3: Create npm Account
|
|
318
318
|
|
|
@@ -341,9 +341,9 @@ npm publish
|
|
|
341
341
|
|
|
342
342
|
```bash
|
|
343
343
|
# Users can now install with just:
|
|
344
|
-
npm install fastqr
|
|
344
|
+
npm install fastqr-pro
|
|
345
345
|
|
|
346
|
-
# No need to install qrencode
|
|
346
|
+
# No need to install qrencode!
|
|
347
347
|
|
|
348
348
|
# Or via package.json:
|
|
349
349
|
# "dependencies": {
|
|
@@ -409,7 +409,7 @@ File `composer.json` is already prepared at root. Review it:
|
|
|
409
409
|
3. Click "Check"
|
|
410
410
|
4. If valid, click "Submit"
|
|
411
411
|
|
|
412
|
-
**Important**: The composer package now includes pre-built binaries in the repository (via GitHub Actions), so users don't need to install libqrencode
|
|
412
|
+
**Important**: The composer package now includes pre-built binaries in the repository (via GitHub Actions), so users don't need to install libqrencode separately!
|
|
413
413
|
|
|
414
414
|
### Step 4: Setup Auto-Update (Recommended)
|
|
415
415
|
|
|
@@ -447,7 +447,7 @@ git push origin v1.0.0
|
|
|
447
447
|
# Users can now install with just:
|
|
448
448
|
composer require fastqr/fastqr
|
|
449
449
|
|
|
450
|
-
# No need to install qrencode
|
|
450
|
+
# No need to install qrencode!
|
|
451
451
|
|
|
452
452
|
# Or via composer.json:
|
|
453
453
|
# "require": {
|
|
@@ -713,7 +713,7 @@ These binaries are automatically bundled in:
|
|
|
713
713
|
|
|
714
714
|
**This means users can install with just:**
|
|
715
715
|
- `gem install fastqr` - no system dependencies needed!
|
|
716
|
-
- `npm install fastqr` - no system dependencies needed!
|
|
716
|
+
- `npm install fastqr-pro` - no system dependencies needed!
|
|
717
717
|
- `composer require fastqr/fastqr` - no system dependencies needed!
|
|
718
718
|
|
|
719
719
|
The binaries are built automatically by GitHub Actions on every tagged release.
|
|
@@ -725,6 +725,6 @@ The binaries are built automatically by GitHub Actions on every tagged release.
|
|
|
725
725
|
1. Include LICENSE file
|
|
726
726
|
2. Include link to source code
|
|
727
727
|
3. Include BUILD.md with build instructions
|
|
728
|
-
4. State that the package uses libqrencode
|
|
728
|
+
4. State that the package uses libqrencode
|
|
729
729
|
|
|
730
730
|
This ensures LGPL requirements are met for static linking.
|
data/INSTALL.md
CHANGED
|
@@ -22,7 +22,7 @@ gem install fastqr
|
|
|
22
22
|
|
|
23
23
|
**Node.js (npm):**
|
|
24
24
|
```bash
|
|
25
|
-
npm install fastqr
|
|
25
|
+
npm install fastqr-pro
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
**PHP (Composer):**
|
|
@@ -39,13 +39,13 @@ composer require fastqr/fastqr
|
|
|
39
39
|
- C++14 compatible compiler
|
|
40
40
|
- CMake 3.15+
|
|
41
41
|
- libqrencode 4.0+
|
|
42
|
-
-
|
|
42
|
+
- libpng
|
|
43
43
|
|
|
44
44
|
### macOS
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
47
|
# Install dependencies
|
|
48
|
-
brew install cmake qrencode
|
|
48
|
+
brew install cmake qrencode libpng
|
|
49
49
|
|
|
50
50
|
# Clone and build
|
|
51
51
|
git clone https://github.com/tranhuucanh/fastqr.git
|
|
@@ -62,7 +62,7 @@ sudo make install
|
|
|
62
62
|
```bash
|
|
63
63
|
# Install dependencies
|
|
64
64
|
sudo apt-get update
|
|
65
|
-
sudo apt-get install -y cmake libqrencode-dev
|
|
65
|
+
sudo apt-get install -y cmake libqrencode-dev libpng-dev build-essential
|
|
66
66
|
|
|
67
67
|
# Clone and build
|
|
68
68
|
git clone https://github.com/tranhuucanh/fastqr.git
|
data/LICENSE
CHANGED
|
@@ -31,9 +31,7 @@ Copyright (C) 2025 FastQR Project
|
|
|
31
31
|
|
|
32
32
|
This project statically links with:
|
|
33
33
|
- libqrencode (LGPL v2.1) - Copyright (C) 2006-2017 Kentaro Fukuchi
|
|
34
|
-
- libvips (LGPL v2.1+) - Copyright (C) 1989-2021 Imperial College, London
|
|
35
34
|
|
|
36
35
|
As required by the LGPL, you can obtain the source code and rebuild this
|
|
37
|
-
library with modified versions of libqrencode
|
|
38
|
-
for instructions.
|
|
36
|
+
library with modified versions of libqrencode. See BUILD.md for instructions.
|
|
39
37
|
|
data/PREBUILT.md
CHANGED
|
@@ -4,7 +4,7 @@ This document describes how pre-built binaries are generated and distributed for
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
Starting from v1.0.0, FastQR includes pre-built binaries in all language packages (Ruby, Node.js, PHP). This means users can install packages without needing to install system dependencies (libqrencode
|
|
7
|
+
Starting from v1.0.0, FastQR includes pre-built binaries in all language packages (Ruby, Node.js, PHP). This means users can install packages without needing to install system dependencies (libqrencode).
|
|
8
8
|
|
|
9
9
|
## Supported Platforms
|
|
10
10
|
|
|
@@ -61,7 +61,7 @@ platform.getPrebuiltPath() // => Path to pre-built binary
|
|
|
61
61
|
**npm Package:**
|
|
62
62
|
- Pre-built binaries are included in `bindings/nodejs/prebuilt/`
|
|
63
63
|
- Package is published to npm
|
|
64
|
-
- Users: `npm install fastqr` (no dependencies needed!)
|
|
64
|
+
- Users: `npm install fastqr-pro` (no dependencies needed!)
|
|
65
65
|
|
|
66
66
|
**Composer Package:**
|
|
67
67
|
- Pre-built binaries are committed to repository in `bindings/php/prebuilt/`
|
|
@@ -153,7 +153,7 @@ platform/
|
|
|
153
153
|
|
|
154
154
|
## License Compliance
|
|
155
155
|
|
|
156
|
-
Pre-built binaries statically link libqrencode
|
|
156
|
+
Pre-built binaries statically link libqrencode (LGPL 2.1).
|
|
157
157
|
|
|
158
158
|
To comply with LGPL:
|
|
159
159
|
1. LICENSE file is included in all packages
|