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