Ravenports generated: 11 Mar 2023 18:07
[ravenports.git] / bucket_6A / lagrange
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               lagrange
4 VERSION=                1.15.4
5 KEYWORDS=               www
6 VARIANTS=               standard
7 SDESC[standard]=        Web Browser-like beautiful Gemini Client
8 HOMEPAGE=               https://github.com/skyjake/lagrange
9 CONTACT=                Michael_Reim[kraileth@elderlinux.org]
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            https://github.com/skyjake/lagrange/releases/download/v1.15.4/
13 DISTFILE[1]=            lagrange-1.15.4.tar.gz:main
14 DF_INDEX=               1
15 SPKGS[standard]=        single
16
17 OPTIONS_AVAILABLE=      none
18 OPTIONS_STANDARD=       none
19
20 BUILD_DEPENDS=          zip:single:standard
21 BUILDRUN_DEPENDS=       fribidi:single:standard
22                         harfbuzz:primary:standard
23                         libunistring:primary:standard
24                         mpg123:library:standard
25                         WebP:single:standard
26
27 USES=                   cmake ncurses pcre pkgconfig zlib ssl:openssl11 curl
28                         desktop-utils:single
29 SDL_COMPONENTS=         sdl2
30 XORG_COMPONENTS=        x11
31
32 LICENSE=                BSD2CLAUSE:single
33 LICENSE_FILE=           BSD2CLAUSE:{{WRKSRC}}/LICENSE.md
34 LICENSE_SCHEME=         solo
35
36 FPC_EQUIVALENT=         www/lagrange
37
38 CMAKE_ARGS=             -DENABLE_FRIBIDI:BOOL=ON
39                         -DENABLE_FRIBIDI_BUILD:BOOL=OFF
40                         -DENABLE_HARFBUZZ:BOOL=ON
41                         -DENABLE_HARFBUZZ_MINIMAL:BOOL=OFF
42                         -DENABLE_MPG123:BOOL=ON
43                         -DENABLE_WEBP:BOOL=ON
44
45 post-install:
46         ${INSTALL_PROGRAM} ${WRKSRC}/build-tui/clagrange ${STAGEDIR}${PREFIX}/bin/
47         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/clagrange
48         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/lagrange
49
50 post-build:
51         (cd ${WRKSRC} && ./build-tui.sh)
52
53 pre-configure:
54         ${REINPLACE_CMD} -i'' -e "s|__PREFIX__|${PREFIX}|g" \
55                 -e "s|__STAGEDIR__|${STAGEDIR}|" ${WRKSRC}/build-tui.sh
56         # unclear why SDL_HINT_WINDOWS_DPI_AWARENESS is not defined; it's in SDL_hints.h
57         # it's for windows only anywhy, just cut it out
58         ${REINPLACE_CMD} -e '/SDL_HINT_WINDOWS_DPI_AWARENESS/d' ${WRKSRC}/src/main.c
59
60 [FILE:776:descriptions/desc.single]
61 Lagrange is a desktop GUI client for browsing Geminispace. It offers 
62 modern conveniences familiar from web browsers, such as smooth scrolling, 
63 inline image viewing, multiple tabs, visual themes, Unicode fonts, 
64 bookmarks, history, and page outlines.
65
66 Some features:
67 * Ability to optionally view images inside the gemtext document
68 * Beautiful typography using Unicode fonts
69 * Autogenerated page style and Unicode icon for each Gemini domain
70 * Smart URL field suggestions: Search bookmarks, history, identities
71 * Sidebar for page outline, managing bookmarks and identities as well as 
72   viewing history
73 * Multiple tabs
74 * Identity management: Create and use TLS client certificates
75 * Audio playback: MP3, Ogg Vorbis, WAV
76 * And more! Open about:help in the app, or see help.gmi
77
78
79 [FILE:101:distinfo]
80 a94e558effb1155b754ad2075781daa20d5f82fd423c94a0a2c6a4bcd10ef684      9941952 lagrange-1.15.4.tar.gz
81
82
83 [FILE:235:manifests/plist.single]
84 bin/
85  clagrange
86  lagrange
87 share/applications/fi.skyjake.Lagrange.desktop
88 share/icons/hicolor/256x256/apps/fi.skyjake.Lagrange.png
89 share/lagrange/resources.lgr
90 share/man/man1/lagrange.1.gz
91 share/metainfo/fi.skyjake.Lagrange.appdata.xml
92
93
94 [FILE:2293:patches/patch-build-tui.sh]
95 --- build-tui.sh.orig   2023-02-06 08:43:55 UTC
96 +++ build-tui.sh
97 @@ -14,25 +14,15 @@
98  #
99  # You can customize the install directory prefix here and build type here:
100  
101 -INSTALL_PREFIX="/usr/local"
102 +INSTALL_PREFIX="__PREFIX__"
103  CMAKE_BUILD_TYPE="Release"
104 +export PKG_CONFIG_PATH=/__PREFIX__/openssl11/lib/pkgconfig
105 +export LDFLAGS="-L/__PREFIX__/openssl11/lib -Wl,-rpath,/__PREFIX__/openssl11/lib"
106  
107  echo "\nThis script will build and optionally install clagrange with"
108  echo "statically linked the_Foundation and SEALCurses. First, let's configure"
109  echo "the build.\n"
110  
111 -echo "Build type? [${CMAKE_BUILD_TYPE}]"
112 -read INPUT
113 -if [ "${INPUT}." != "." ]; then
114 -    CMAKE_BUILD_TYPE=${INPUT}
115 -fi
116 -
117 -echo "Install prefix? [${INSTALL_PREFIX}]"
118 -read INPUT
119 -if [ "${INPUT}." != "." ]; then
120 -    INSTALL_PREFIX=${INPUT}
121 -fi
122 -
123  if [ ! -d lib/sealcurses ]; then
124      echo "'lib/sealcurses' not found. Clone with Git? [Yn]"
125      read INPUT
126 @@ -67,6 +57,7 @@ cmake ../../lib/the_Foundation -DCMAKE_B
127      -DTFDN_STATIC_LIBRARY=YES \
128      -DTFDN_ENABLE_WEBREQUEST=NO \
129      -DTFDN_ENABLE_TESTS=NO \
130 +    -DCMAKE_INSTALL_LIBDIR:STRING="lib" \
131      -DCMAKE_INSTALL_PREFIX="${BUILD_DIR}" $*
132  cmake --build . || exit 1
133  cmake --install .
134 @@ -79,13 +70,13 @@ cmake ../../lib/sealcurses -DCMAKE_BUILD
135      -DCMAKE_C_FLAGS_RELEASE=-O1 \
136      -DENABLE_SHARED=NO \
137      -Dthe_Foundation_DIR="${BUILD_DIR}/lib/cmake/the_Foundation" \
138 +    -DCMAKE_INSTALL_LIBDIR:STRING="lib" \
139      -DCMAKE_INSTALL_PREFIX="${BUILD_DIR}" $*
140  cmake --build . || exit 1
141  cmake --install .
142  
143  cd ..
144  export PKG_CONFIG_PATH="${BUILD_DIR}/lib/pkgconfig":${PKG_CONFIG_PATH}
145 -LDFLAGS="`pkg-config --static --libs the_Foundation`"
146  cmake .. \
147      -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
148      -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
149 @@ -97,15 +88,11 @@ cmake .. \
150      -DENABLE_HARFBUZZ=NO \
151      -DENABLE_POPUP_MENUS=NO \
152      -DENABLE_IDLE_SLEEP=NO \
153 +    -DCMAKE_SKIP_RPATH:BOOL=TRUE \
154      -Dthe_Foundation_DIR="${BUILD_DIR}/lib/cmake/the_Foundation" \
155      $*
156  cmake --build . || exit 1
157  
158  echo "-----"
159  echo "clagrange and resources.lgr can be found in 'build-tui'."
160 -echo "Do you want to install them to ${INSTALL_PREFIX}? (sudo) [yN]"
161 -read CONFIRMED
162 -if [ "${CONFIRMED}" = "y" ]; then
163 -    sudo cmake --install .
164 -    exit
165 -fi
166 +exit
167
168
169 [FILE:454:patches/patch-cmake_Depends.cmake]
170 --- cmake/Depends.cmake.orig    2023-02-06 08:43:55 UTC
171 +++ cmake/Depends.cmake
172 @@ -42,6 +42,7 @@ else ()
173      set (TFDN_ENABLE_WEBREQUEST OFF CACHE BOOL "")
174      add_subdirectory (lib/the_Foundation)
175      add_library (the_Foundation::the_Foundation ALIAS the_Foundation)
176 +    find_package (OpenSSL)
177      if (NOT OPENSSL_FOUND)
178          message (FATAL_ERROR "Lagrange requires OpenSSL for TLS. Please check if pkg-config can find 'openssl'.")
179      endif ()
180
181
182 [FILE:343:patches/patch-lib_sealcurses_CMakeLists.txt]
183 --- lib/sealcurses/CMakeLists.txt.orig  2023-02-06 08:44:09 UTC
184 +++ lib/sealcurses/CMakeLists.txt
185 @@ -8,7 +8,7 @@ find_package (PkgConfig REQUIRED)
186  set (CMAKE_C_STANDARD 11)
187  
188  # Find Curses.
189 -pkg_check_modules (CURSES ncursesw)
190 +pkg_check_modules (CURSES ncurses)
191  if (NOT CURSES_FOUND)
192      find_library (CURSES curses)
193      if (NOT CURSES)
194
195
196 [FILE:1138:patches/patch-lib_the__Foundation_Depends.cmake]
197 --- lib/the_Foundation/Depends.cmake.orig       2023-02-06 08:44:08 UTC
198 +++ lib/the_Foundation/Depends.cmake
199 @@ -14,24 +14,7 @@ if (NOT IOS AND NOT ANDROID)
200      if (TFDN_ENABLE_TLSREQUEST)
201          set (OPENSSL_FOUND NO)
202          set (iHaveOpenSSL NO)
203 -        if (FREEBSD)
204 -            # Try the system-provided libraries first.
205 -            find_library (LIBSSL ssl)
206 -            find_library (LIBCRYPTO crypto)
207 -            if (LIBSSL AND LIBCRYPTO)
208 -               message (STATUS "Using system-provided libssl: ${LIBSSL}")
209 -                add_library (libssl INTERFACE)
210 -                target_link_libraries (libssl INTERFACE ${LIBSSL} ${LIBCRYPTO})
211 -                set (OPENSSL_FOUND YES)
212 -            else ()
213 -                pkg_check_modules (OPENSSL eopenssl11)
214 -                if (OPENSSL_FOUND)
215 -                    set (EOPENSSL_FOUND YES)
216 -                endif ()
217 -            endif ()
218 -        else ()
219 -             pkg_check_modules (OPENSSL openssl)
220 -        endif ()
221 +        pkg_check_modules (OPENSSL openssl)
222      endif ()
223      # Unicode text strings
224      set (UNISTRING_DIR "" CACHE PATH "Location of libunistring")
225