fastqr 1.0.23 → 1.0.24

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 495f74f8e1bc1e89000bf757577aa9bcf5130992bd9cdd0db8235cc494948ac5
4
- data.tar.gz: 3f4a3e953c671fbba8fca5a479fe2c3733874420770983f4b2c95866c8f9c016
3
+ metadata.gz: af1932a2051445111bc7aa7ed3ec23d1b4dd9f24c1a0c442858f5575b7ae0250
4
+ data.tar.gz: b705519da79543107c186ec5799773b3cbc455fff38ad2ed5732df7f33d24dcc
5
5
  SHA512:
6
- metadata.gz: 4e8b9c2f0d6e1234a4c2e4ca64f45f9bfd50679e39de26f978ee5a892d3fab65480feefdfa27c878ca0c94db230a24c44ec9c5fab31a48d2f0a133f957d87d1b
7
- data.tar.gz: 54103eb17d5055a4dd51285df094ea470cba222d77e6d2895bb940c618920f14f9b066b3d68cd62dbabed7f27f0cd3df410d995c2dff265fa2a16e3d9b9fd692
6
+ metadata.gz: 4f772588dd5e1a9bacff65fdfd658a392328a269ee7bfced9ba33df4c851380848152c1a08162854ae8a78e4896e390835ae93ab100011b329e6b53f058c3062
7
+ data.tar.gz: 9635ed0e8e63879e2572bc53c702869394e6e2277b02cde4fe801f17ac55854500030d1e9afb1a0ed934918f5d7fd276286dea201a62e17dcfa9e281de1db346
data/CMakeLists.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  cmake_minimum_required(VERSION 3.15)
2
- project(fastqr VERSION 1.0.23 LANGUAGES CXX C)
2
+ project(fastqr VERSION 1.0.24 LANGUAGES CXX C)
3
3
 
4
4
  set(CMAKE_CXX_STANDARD 14)
5
5
  set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -99,15 +99,15 @@ if(NOT BUILD_SHARED_LIBS)
99
99
  NO_DEFAULT_PATH
100
100
  )
101
101
 
102
- find_library(QRENCODE_STATIC_LIBRARY
103
- NAMES libqrencode.a
104
- PATHS
105
- /usr/local/lib # Linux: from source build
106
- ${QRENCODE_LIBRARY_DIRS}
107
- /opt/homebrew/lib # macOS: from Homebrew
108
- /usr/lib
109
- NO_DEFAULT_PATH
110
- )
102
+ find_library(QRENCODE_STATIC_LIBRARY
103
+ NAMES libqrencode.a
104
+ PATHS
105
+ /usr/local/lib # Linux: from source build
106
+ ${QRENCODE_LIBRARY_DIRS}
107
+ /opt/homebrew/lib # macOS: from Homebrew
108
+ /usr/lib
109
+ NO_DEFAULT_PATH
110
+ )
111
111
 
112
112
  if(PNG_STATIC_LIBRARY AND QRENCODE_STATIC_LIBRARY)
113
113
  message(STATUS "✓ Found static libpng: ${PNG_STATIC_LIBRARY}")
@@ -121,6 +121,32 @@ if(NOT BUILD_SHARED_LIBS)
121
121
  ${PNG_STATIC_LIBRARY}
122
122
  z # zlib is needed by libpng
123
123
  )
124
+
125
+ # On Linux, ensure full static linking
126
+ if(UNIX AND NOT APPLE)
127
+ # Try to link everything statically on Linux
128
+ target_link_options(fastqr-cli PRIVATE
129
+ -static-libgcc
130
+ -static-libstdc++
131
+ )
132
+
133
+ # Also find static libz if possible
134
+ find_library(ZLIB_STATIC_LIBRARY
135
+ NAMES libz.a
136
+ PATHS
137
+ /usr/local/lib
138
+ /usr/lib
139
+ /usr/lib/x86_64-linux-gnu
140
+ /usr/lib/aarch64-linux-gnu
141
+ NO_DEFAULT_PATH
142
+ )
143
+
144
+ if(ZLIB_STATIC_LIBRARY)
145
+ message(STATUS "✓ Found static libz: ${ZLIB_STATIC_LIBRARY}")
146
+ # Replace z with static version
147
+ target_link_libraries(fastqr-cli PRIVATE ${ZLIB_STATIC_LIBRARY})
148
+ endif()
149
+ endif()
124
150
  else()
125
151
  message(WARNING "Static libraries not found, falling back to dynamic linking")
126
152
  message(WARNING " libpng: ${PNG_STATIC_LIBRARY}")
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.23
1
+ 1.0.24
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fastqr-pro",
3
- "version": "1.0.23",
3
+ "version": "1.0.24",
4
4
  "description": "Fast QR code generator with UTF-8 support, custom colors, logo embedding, and precise size control",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FastQR
4
- VERSION = "1.0.23"
4
+ VERSION = "1.0.24"
5
5
  end
6
6
 
@@ -72,161 +72,35 @@ fi
72
72
  cd ..
73
73
 
74
74
  if [[ "$OS" == "linux" ]]; then
75
- echo "🔧 Building binary for Linux..."
75
+ echo "🔧 Building static binary for Linux..."
76
76
 
77
77
  # Debug: Check the binary first
78
78
  echo "🔍 Checking binary file:"
79
79
  file build/fastqr
80
80
  ls -la build/fastqr
81
- echo "Binary size: $(stat -c%s build/fastqr) bytes"
81
+
82
+ # Get binary size
83
+ if [[ "$ARCH" == "aarch64" ]]; then
84
+ echo "Binary size: $(stat -c%s build/fastqr 2>/dev/null || stat -f%z build/fastqr) bytes"
85
+ else
86
+ echo "Binary size: $(stat -c%s build/fastqr) bytes"
87
+ fi
82
88
 
83
89
  # Check binary dependencies
84
90
  echo "📋 Binary dependencies:"
85
- ldd build/fastqr || echo "ldd failed"
91
+ ldd build/fastqr || echo "Binary is static (no dependencies)"
86
92
 
87
93
  # Test if binary runs
88
94
  echo "🧪 Testing binary execution:"
89
95
  ./build/fastqr -v || echo "Binary test failed"
90
96
 
91
- # For ARM64, just copy the binary directly (no AppImage needed)
92
- if [[ "$ARCH" == "aarch64" ]]; then
93
- echo "🔧 Creating simple binary distribution for ARM64..."
94
- cp build/fastqr "$OUTPUT_DIR/bin/fastqr"
95
- chmod +x "$OUTPUT_DIR/bin/fastqr"
96
- echo "✅ Built binary for Linux ARM64"
97
- else
98
- # For x86_64, try to create AppImage
99
- echo "🔧 Building AppImage for Linux x86_64..."
100
-
101
- # Determine the correct AppImage tool for the architecture
102
- if [[ "$ARCH" == "x86_64" ]]; then
103
- LINUXDEPLOY_ARCH="x86_64"
104
- else
105
- echo "❌ Unsupported Linux architecture: $ARCH"
106
- exit 1
107
- fi
108
-
109
- # Install AppImage tools - try stable version instead of continuous
110
- echo "📥 Downloading linuxdeploy stable version..."
111
- wget -q https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-${LINUXDEPLOY_ARCH}.AppImage
112
- chmod +x linuxdeploy-${LINUXDEPLOY_ARCH}.AppImage
113
-
114
- # Also try appimagetool as fallback
115
- echo "📥 Downloading appimagetool as fallback..."
116
- wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-${LINUXDEPLOY_ARCH}.AppImage
117
- chmod +x appimagetool-${LINUXDEPLOY_ARCH}.AppImage
118
-
119
- # Clean any existing AppDir
120
- rm -rf AppDir
121
-
122
- # Create desktop file for AppImage (simplified version)
123
- cat > fastqr.desktop << 'EOF'
124
- [Desktop Entry]
125
- Name=FastQR
126
- Comment=Fast QR Code Generator
127
- Exec=fastqr
128
- Icon=fastqr
129
- Type=Application
130
- Categories=Utility;
131
- EOF
132
-
133
- # Debug: Show what we created
134
- echo "Desktop file contents:"
135
- cat fastqr.desktop
136
- echo "Files in current directory:"
137
- ls -la *.desktop 2>/dev/null || echo "No desktop files found"
138
-
139
- # Check linuxdeploy version and capabilities
140
- echo "🔍 linuxdeploy info:"
141
- ./linuxdeploy-${LINUXDEPLOY_ARCH}.AppImage --help | head -10 || echo "linuxdeploy help failed"
142
-
143
- # Create AppImage with desktop file and additional flags for better compatibility
144
- # Bundle all necessary libraries to avoid GLIBC conflicts
145
- echo "🔧 Trying linuxdeploy method..."
146
- if ./linuxdeploy-${LINUXDEPLOY_ARCH}.AppImage \
147
- --executable build/fastqr \
148
- --desktop-file fastqr.desktop \
149
- --appdir AppDir \
150
- --output appimage \
151
- --library /usr/local/lib \
152
- --library /usr/lib/x86_64-linux-gnu \
153
- --library /lib/x86_64-linux-gnu; then
154
- echo "✅ linuxdeploy succeeded"
155
- else
156
- echo "❌ linuxdeploy failed, trying manual AppImage creation..."
157
-
158
- # Manual AppImage creation as fallback
159
- mkdir -p AppDir/usr/bin
160
- mkdir -p AppDir/usr/share/applications
161
- cp build/fastqr AppDir/usr/bin/
162
- chmod +x AppDir/usr/bin/fastqr
163
-
164
- # Copy desktop file
165
- cp fastqr.desktop AppDir/usr/share/applications/
166
-
167
- # Also copy to AppDir root (some tools expect it there)
168
- cp fastqr.desktop AppDir/
169
-
170
- # Create a simple icon (desktop file references it)
171
- echo "🎨 Creating simple icon..."
172
- # Create a minimal 64x64 PNG icon
173
- convert -size 64x64 xc:white -fill black -pointsize 24 -gravity center -annotate +0+0 "QR" AppDir/fastqr.png 2>/dev/null || echo "convert not available, creating placeholder"
174
-
175
- # Copy icon to proper locations
176
- mkdir -p AppDir/usr/share/pixmaps
177
- cp AppDir/fastqr.png AppDir/usr/share/pixmaps/ 2>/dev/null || true
178
-
179
- # Copy dependencies manually
180
- mkdir -p AppDir/usr/lib
181
- echo "📋 Copying dependencies..."
182
- ldd build/fastqr | grep "=>" | awk '{print $3}' | while read libpath; do
183
- if [ -f "$libpath" ]; then
184
- echo " Copying: $libpath"
185
- cp "$libpath" AppDir/usr/lib/
186
- fi
187
- done
188
-
189
- # Also copy specific libraries we know we need
190
- echo "📋 Copying specific libraries..."
191
- for lib in libqrencode.so libpng.so libz.so; do
192
- if [ -f "/usr/local/lib/$lib" ]; then
193
- echo " Copying: /usr/local/lib/$lib"
194
- cp "/usr/local/lib/$lib" AppDir/usr/lib/
195
- elif [ -f "/usr/lib/x86_64-linux-gnu/$lib" ]; then
196
- echo " Copying: /usr/lib/x86_64-linux-gnu/$lib"
197
- cp "/usr/lib/x86_64-linux-gnu/$lib" AppDir/usr/lib/
198
- fi
199
- done
200
-
201
- # Create AppRun
202
- cat > AppDir/AppRun << 'EOF'
203
- #!/bin/bash
204
- HERE="$(dirname "$(readlink -f "${0}")")"
205
- export LD_LIBRARY_PATH="${HERE}/usr/lib:${LD_LIBRARY_PATH}"
206
- exec "${HERE}/usr/bin/fastqr" "$@"
207
- EOF
208
- chmod +x AppDir/AppRun
209
-
210
- # Extract appimagetool and use it directly (no FUSE needed)
211
- echo "🔧 Extracting appimagetool..."
212
- ./appimagetool-${LINUXDEPLOY_ARCH}.AppImage --appimage-extract
213
- chmod +x squashfs-root/AppRun
214
-
215
- # Debug: Show AppDir structure
216
- echo "📁 AppDir structure:"
217
- find AppDir -type f | head -20
218
-
219
- # Use extracted appimagetool
220
- echo "🔧 Creating AppImage with extracted appimagetool..."
221
- ./squashfs-root/AppRun AppDir fastqr-${LINUXDEPLOY_ARCH}.AppImage
222
- fi
223
-
224
- # Copy AppImage to output directory
225
- cp fastqr-${LINUXDEPLOY_ARCH}.AppImage "$OUTPUT_DIR/bin/fastqr"
226
- chmod +x "$OUTPUT_DIR/bin/fastqr"
227
-
228
- echo "✅ Built AppImage for Linux x86_64 (universal compatibility!)"
229
- fi
97
+ # Copy the static binary
98
+ echo "🔧 Creating static binary distribution for Linux..."
99
+ cp build/fastqr "$OUTPUT_DIR/bin/fastqr"
100
+ chmod +x "$OUTPUT_DIR/bin/fastqr"
101
+
102
+ echo "✅ Built static binary for Linux $ARCH"
103
+ echo "📦 This binary should work on any Linux distribution without dependencies!"
230
104
  else
231
105
  # macOS: Copy standalone CLI binary
232
106
  cp build/fastqr "$OUTPUT_DIR/bin/fastqr"
data/src/fastqr.cpp CHANGED
@@ -31,7 +31,7 @@
31
31
  #include <algorithm>
32
32
  #include <cstdio>
33
33
 
34
- #define FASTQR_VERSION "1.0.23"
34
+ #define FASTQR_VERSION "1.0.24"
35
35
 
36
36
  namespace fastqr {
37
37
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastqr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.23
4
+ version: 1.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - FastQR Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-22 00:00:00.000000000 Z
11
+ date: 2025-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake